子界面获取不到数据的问题困惑了一晚上,今早头脑清醒一下就搞定了
@*父页面*@ <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命名,这样防止更多的错误出现。