1. 程式人生 > 實用技巧 >Vue 子介面獲取不到資料問題(元件)

Vue 子介面獲取不到資料問題(元件)

子介面獲取不到資料的問題困惑了一晚上,今早頭腦清醒一下就搞定了

    @*父頁面*@
                    <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命名,這樣防止更多的錯誤出現。