【发布时间】:2017-08-21 01:03:40
【问题描述】:
我在渲染模板时遇到问题
添加新数据时,即使条件都为TRUE,也不会进入v-if的过程。
有人能解释一下原因吗?
我在下面提供了一些截图来进一步解释我的问题
第一张图片是我展示产品的模板,你会注意到这里的添加、更新和删除。
第二张图片显示我正在尝试添加新产品
第三张图片显示我已成功添加新产品。问题是,“更新”操作按钮被触发,但不会生效。
上图显示更新按钮适用于过去的数据,但不适用于新数据。
最后一张图片将证明按钮已被触发。我添加了一个 console.log 以在单击更新按钮时显示以下内容。
- 行的索引,即 [0]。
- 变量“isUpdate”的类型[布尔]。
- 'isUpdate' 的值 [True, False]
- 产品ID是[151]
知道为什么它没有被触发,或者知道如何调试它?
如果您想查看代码。我可以提供,只要告诉我你要找哪一部分。因为我不知道哪个部分有错误。
提前谢谢你。
更新
按照 Amresh Venugopal 的要求
这是模板中的 v-if
<tr v-if='product.id > 0 && product.isUpdate' class='table-inputs'>
还有updatebtn函数
canUpdate: function(data) {
console.log(data.pindex);
this.products[data.pindex].isUpdate = !this.products[data.pindex].isUpdate;
console.log(typeof this.products[data.pindex].isUpdate);
console.log(this.products[data.pindex].isUpdate);
console.log(this.products[data.pindex].id);
}
我只将 isUpdate 值设置为“真”,如果“假”,反之亦然。
productID是在ajax保存函数之后添加的。
【问题讨论】:
-
您可能需要提供一个 jsfiddle/codepen 来产生问题
-
需要带有 v-if 和更新功能的模板。
-
我不确定我是否能够在一个小提琴页面中重新创建它,因为这个问题有 2 个组件。还有其他建议吗?
-
this.products是什么属性?data或computed? -
Data中添加的,实际上canUpdate函数在子组件中,所以this.products是通过props传递的
标签: vue.js conditional-rendering