在此演示中,(https://jsfiddle.net/ccforward/fa35a2cc/)我无法呈现模板,数据resultWrong
等于{}
在这个演示中,(https://jsfiddle.net/ccforward/zoo6xzck/),如果我使用临时变量保存异步数据,那么我可以得到结果并渲染模板
如果我在方法中添加另一个名为getRightData()
的函数,则getWrongData()
可以正常工作,并且可以呈现模板。
链接:https://jsfiddle.net/ccforward/7f42owpc/4/
如果我删除getRightData()
方法,则getWrongData()
无效。
链接:https://jsfiddle.net/ccforward/7f42owpc/3/
答案 0 :(得分:1)
将set提交给对象。
以下是您使用this.$set
向空对象正确添加属性的第一个fiddle updated。
对于您的演示,第一个不起作用,因为您使用索引添加属性,而Vue不知道它需要更新DOM。
第二个演示有效,因为基值resultRight
设置为完全不同的值。 resultRight
是一个反应值,当它变为不同的值时,Vue意识到它需要更新DOM。
第三个演示出现,但只有resultRight
发生变化才有效,因为它是被动的,Vue知道更新DOM。 resultWrong
同时呈现,但仅,因为Vue根据resultRight
中的更改呈现了它。
第四个演示失败的原因与第一个演示失败的原因相同。 resultWrong
获取新属性,但Vue 不知道有关这些属性的信息。并且因为您没有更改对象引用(如将resultRight
更改为tmp
时),Vue不知道它需要更新DOM。