我有axios回调,并且我想更新vue对象的属性,并且我在input
标签和edited
属性之间进行了两种方式的绑定,以便根据{ {1}}属性。当我在回调中将edited
属性更新为false时,该文本框不会被隐藏。但是当我在axios回调外部更新时,文本框被隐藏或显示。
edited
谁能告诉我为什么?您可以查看完整的代码:https://gist.github.com/inherithandle/e61a5ab2809581a5d36de08b4e4349f1
答案 0 :(得分:1)
我认为这是由于edited
数组中project
项的属性projects
被动态添加到project
所致。
Adding property to Ojbect
将属性添加到对象时,必须使用$set
。
由于现代JavaScript的局限性(以及Object.observe的放弃),Vue无法检测到属性的添加或删除。 但是,可以使用Vue.set(object,key,value)方法将反应性属性添加到嵌套对象中:
请尝试在line 181
中使用以下代码,以及在github源代码中更改edited
项的project
的其他行。
this.$set(this.projects[this.currentIndex], 'edited', false);
答案 1 :(得分:0)
您的currentIndex
始终为0,而您的两个if语句始终返回false。