vue.js 在v-for tr td标记内添加新元素时调用函数

z2acfund  于 2023-03-19  发布在  Vue.js
关注(0)|答案(1)|浏览(213)

我想调用一个函数,即使v-for有新元素添加。在我的情况下,元素是choosen_products,所以每当我有新元素在v-for我想调用CalculateSubtotal(i)choosen_products原来有0个元素,但它会循环当我按下添加按钮(没有在这个scrop),然而,即使我尝试@change,什么都没有调用。

<tr v-for="p, i in choosen_products" @change="CalculateSubtotal(i)">
    
    <td> {{ p.p_fullname }} </td>
    <td> {{ p.p_code }} </td>
    <td> {{ p.p_category }} </td>
    <td> {{ p.p_cost }} </td>
    <td> {{ p.p_margin }} </td>
    
    <td :ref="'add_all_sell'+i" :id="'add_all_sell'+i" th:onload="CalculateSubtotal(i)"> 
{{ p.p_sell }} 
</td>
</tr>

代替@change,如何让程序识别出trtd有新元素,调用函数?

f1tvaqid

f1tvaqid1#

标记<tr>没有onchange事件。
您需要一个数组长度watcher来观察数组的变化。

watch(() => choosen_products.length, (choosen_products) => {
  console.log(choosen_products.length)
})

Playground
x一个一个一个一个x一个一个二个一个x一个一个三个一个

相关问题