vue props传值失败 输出undefined的解决方法
2018-09-11 10:26
836 查看
如果在prop中传的值为一个没有使用特殊命名规则的变量如:(type),可以顺利传值:
<code class="language-html"><div id="app"> <test :type="type"></test> </div> Vue.component("test", { props: ['type'], template: '<div @click="a">我是按钮{{type}}</div>', methods: { a() { console.log(this.type); } } }); var app = new Vue({ el: '#app', data: { type: 'test' } });</code>
而当这个变量为驼峰命名法如:(selectName),就会传不过去:
<div id="app"> <test :selectName="selectName"></test> </div> Vue.component("test", { props: ['selectName'], template: '<div @click="a">我是按钮{{selectName}}</div>', methods: { a() { console.log(this.selectName); } } }); var app = new Vue({ el: '#app', data: { selectName: 'test' } });
解决方法是把selectName标签改为select-Name:
<div id="app"> <test :select-Name="selectName"></test> </div> Vue.component("test", { props: ['selectName'], template: '<div @click="a">我是按钮{{selectName}}</div>', methods: { a() { console.log(this.selectName); } } }); var app = new Vue({ el: '#app', data: { selectName: 'test' } });
总结:如果为驼峰命名法传递的话,html不区分大小写(所有的都会转换为小写),所以testName 在html表现为 :test-name ,需要注意的是vue中使用props传递时最好不要用横杆如select-name 的写法,因为使用的时候this.select-name中的横杠会认为它是减号,导致辨认不出来。在定义事件的时候最好命名都为小写,如
this.$emit("selectchange","data");
不要写成
this.$emit("selectChange","data");
html同样认不出来,比较好的方式是这种
this.$emit("select-change","data");
以上这篇vue props传值失败 输出undefined的解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- imagejpeg()输出图片失败的原因与解决方法
- phpcms v9更新后缩略图上传失败提示undefined的解决方法
- v9上传图片/附件失败出现undefined的解决方法之一
- 32位Linux编译redis失败解决方法:zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4`
- 解压Tomcat后启动失败解决方法
- McAfee更新失败,请确认mcafee framwork 服务已启动解决方法
- [笔记]VS2010 LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 的解决方法
- c# 解决读取Excel混合文本类型,数据读取失败的解决方法
- "android-studio undefined reference to `__android_log_print "错误解决方法
- Angular CLI 安装和使用以及安装失败的解决方法
- 关于TransactionScope出错:“与基础事务管理器的通信失败”的解决方法
- eclipse对齐快捷键失败解决方法
- 解决svn中“工作副本已经锁定”,或者svn清理失败的解决方法
- sql无法打开用户默认数据库,登录失败,用户‘sa’登录失败,错误:4064的解决方法
- composer安装失败解决方法
- 用户"sa "登陆失败 SQLServer 错误18456----解决方法
- Ubuntu 11.10 make menuconfig 失败的解决方法
- .Net中vs2008测试ok,发布到IIS中功能就失败的问题解决方法
- [转]应用程序池模板永久性缓存初始化失败的解决方法
- glance index 失败解决方法