【问题标题】:Issue with vue.js conditional rendingvue.js 条件渲染的问题
【发布时间】:2017-08-21 01:03:40
【问题描述】:

我在渲染模板时遇到问题

添加新数据时,即使条件都为TRUE,也不会进入v-if的过程。

有人能解释一下原因吗?

我在下面提供了一些截图来进一步解释我的问题

第一张图片是我展示产品的模板,你会注意到这里的添加、更新和删除。

第二张图片显示我正在尝试添加新产品

第三张图片显示我已成功添加新产品。问题是,“更新”操作按钮被触发,但不会生效。

上图显示更新按钮适用于过去的数据,但不适用于新数据。

最后一张图片将证明按钮已被触发。我添加了一个 console.log 以在单击更新按钮时显示以下内容。

  1. 行的索引,即 [0]。
  2. 变量“isUpdate”的类型[布尔]。
  3. 'isUpdate' 的值 [True, False]
  4. 产品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 是什么属性? datacomputed ?
  • Data中添加的,实际上canUpdate函数在子组件中,所以this.products是通过props传递的

标签: vue.js conditional-rendering


【解决方案1】:

我想通了!

当我在 this.products 中推送数据时,我没有包含 'isUpdate' 字段。

现在可以使用了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-31
    • 2016-02-07
    • 2019-08-07
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-01
    相关资源
    最近更新 更多