Vue 子介面獲取不到資料問題(元件)
阿新 • • 發佈:2021-01-19
子介面獲取不到資料的問題困惑了一晚上,今早頭腦清醒一下就搞定了
@*父頁面*@ <el-form-item label="測試" > <ns-multilanguage-edit v-model="FTest" :FieldName="'FLayoutName'" :FtableName="'t_Bos_Layout'" :FID="'27'"></ns-multilanguage-edit> </el-form-item>
子介面
model: { prop: 'FTest', event: 'valuechange' }, //宣告props props: { FTest: { type: String,default: "", }, FtableName: { type: String, default: "", }, FieldName: { type: String, default: "", }, FID: { type: Number, default: 0, }, },
當我測試的時候,發現永遠都拿不到值,原因是因為prop的大小寫問題,理由:https://cn.vuejs.org/v2/guide/components-props.html
更改程式碼:
@*父頁面*@ <el-form-item label="測試" > <ns-multilanguage-edit v-model="FTest" :fieldname="'FModelName'" :ftablename="'t_WT_Table'" :fid="'50'"></ns-multilanguage-edit> </el-form-item>
model: { prop: 'FTest', event: 'valuechange' }, //宣告props props: { FTest: { type: String, default: "", }, ftablename: { type: String, default: "", }, fieldname: { type: String, default: "", }, fid: { type: Number, default: 0, }, },
再次執行,就能拿到值了,還有一種kebab-case (短橫線分隔命名) 命名方法也可以拿到值,自己去試試就知道了。
個人建議,VUE開發建議使用小寫加kebab-case命名,這樣防止更多的錯誤出現。