在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue v-bind

vue v-bind

<div id="app-7">
  <ol>
    <!--
      現(xiàn)在我們?yōu)槊總€ todo-item 提供 todo 對象
      todo 對象是變量,即其內(nèi)容可以是動態(tài)的。
      我們也需要為每個組件提供一個“key”,稍后再
      作詳細解釋。
    -->
    <todo-item
      v-for="item in groceryList"
      v-bind:todo="item"
      v-bind:key="item.id">
    </todo-item>
  </ol>
</div>


Vue.component('todo-item', {
  props: ['todo'],
  template: '<li>{{ todo.text }}</li>'
})


var app7 = new Vue({
  el: '#app-7',
  data: {
    groceryList: [
      { id: 0, text: '蔬菜' },
      { id: 1, text: '奶酪' },
      { id: 2, text: '隨便其它什么人吃的東西' }
    ]
  }
})

v-bind的作用是當父組件的值修改時,子組件會更新。
那這里為什么不能用todo="item",要用 v-bind:todo="item"把父組件的值傳過去呢??這跟更新應該沒關系吧。ps:本人新手。。

回答
編輯回答
尐懶貓

如果你直接寫 todo="item" 那就是傳遞了一個字符串給子組件,

父組件傳遞 他的 item這個字符串 ,子組件用 todo 這個變量來接收


如果你寫的 :todo="item" 或者 v-bind:todo="item" 那么就是傳遞了一個變量給子組件

父組件傳遞 他的 item這個變量 ,子組件用 todo 這個變量來接收

2018年7月26日 16:09
編輯回答
尐懶貓

建議你可以再好好看看官方對于v-bind的描述v-bind - vue2.x API

用法:
動態(tài)地綁定一個或多個特性,或一個組件 prop 到表達式。
在綁定 class 或 style 特性時,支持其它類型的值,如數(shù)組或?qū)ο???梢酝ㄟ^下面的教程鏈接查看詳情。
在綁定 prop 時,prop 必須在子組件中聲明??梢杂眯揎椃付ú煌慕壎愋?。
沒有參數(shù)時,可以綁定到一個包含鍵值對的對象。注意此時 class 和 style 綁定不支持數(shù)組和對象。

注意加粗的一行,所謂的動態(tài)只是其一個功能,還有一個功能就是綁定一個組件prop到表達式你要干的事情,不就是這個嗎

話說回來,你寫成todo="item"這不就是在html標簽中,編寫了一個自定義屬性嗎,本質(zhì)上理解成class="item"也沒啥毛病,這是本質(zhì)上的不一樣。
換句話說,你在這個標簽中只有用到v-開頭的屬性,在一般情況下才會跟vue對象產(chǎn)生聯(lián)系

2018年3月9日 15:17