国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

vue props傳值失敗 輸出undefined的解決方法

2019-11-19 12:58:35
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

如果在prop中傳的值為一個(gè)沒(méi)有使用特殊命名規(guī)則的變量如:(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> 

而當(dāng)這個(gè)變量為駝峰命名法如:(selectName),就會(huì)傳不過(guò)去:

<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標(biāo)簽改為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' }});

總結(jié):如果為駝峰命名法傳遞的話,html不區(qū)分大小寫(xiě)(所有的都會(huì)轉(zhuǎn)換為小寫(xiě)),所以testName 在html表現(xiàn)為 :test-name ,需要注意的是vue中使用props傳遞時(shí)最好不要用橫桿如select-name 的寫(xiě)法,因?yàn)槭褂玫臅r(shí)候this.select-name中的橫杠會(huì)認(rèn)為它是減號(hào),導(dǎo)致辨認(rèn)不出來(lái)。在定義事件的時(shí)候最好命名都為小寫(xiě),如

this.$emit("selectchange","data");

不要寫(xiě)成

this.$emit("selectChange","data");

html同樣認(rèn)不出來(lái),比較好的方式是這種

this.$emit("select-change","data");

以上這篇vue props傳值失敗 輸出undefined的解決方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乃东县| 文成县| 华蓥市| 高邑县| 环江| 济源市| 汝城县| 阜康市| 孟连| 虎林市| 余干县| 贵溪市| 石楼县| 达州市| 商洛市| 海宁市| 平乐县| 利津县| 玉屏| 普格县| 永寿县| 永川市| 长沙市| 顺义区| 郯城县| 广安市| 资中县| 绿春县| 安多县| 额敏县| 岳阳县| 南汇区| 疏勒县| 神农架林区| 黔东| 白银市| 睢宁县| 临城县| 桦南县| 洪洞县| 大城县|