最近vue的項目中需要使用v-for循環來動態的對div設置id已滿足業務需求,上網查找了很多例子都只是簡單的綁定了一個index,例如,:id = 'index' 的形式,發現滿足不了需求,后台嘗試了一下使用計算屬性computed,但是發現computed的計算屬性是無法接收參數的,只能隨着vm中的數據的變化而動態的變化,后台無疑間發現,可以定義個mehtod,然后將index作為參數,函數對index拼接的結果進行返回即可。
代碼思路如下:
vue實例的data屬性中有一個對象數組
arr:[{name:'張三',age:12},{name:'李四',age:13}
html代碼中arr動態的展示在div中,並且生成的div的id為person_{index}的形式,可以這么寫
<div v-for="(item,index) in arr" :id="gernerateId(index)">
{{item.name}} : {{item.age}}
</div>
然后在vue的method中定義gernerateId方法即可:
methods:{
gernerateId: function (index){
return "person_" +index
}
}
希望可以幫助小伙伴們!!!!
再后續的開發中發現還有更簡單的方法就是綁定ID是的時候這樣寫:id=" 'person_'+ index" 的形式,注意person_必須用雙引號引起來
轉載:https://blog.csdn.net/xiongmaodeguju/article/details/78526594