【发布时间】:2018-02-02 04:00:35
【问题描述】:
我正在学习 Vue JS,并在尝试使用构造函数和推送函数使用对象填充数组时遇到了一个特定问题。在 Vue JS 中, push 方法将一个空白对象添加到数组中,而不是构造函数创建的对象。 JS小提琴在下面。
我知道在传统的 javascript 中,下面的代码可以正常工作,任何人都可以解释为什么 Vue JS 会以不同的方式解释相同的代码。
function node (){
this.x = Math.random();
this.y = Math.random();
}
let nodes = [];
nodes.push(new node());
console.log(nodes);
JS 小提琴: https://jsfiddle.net/ex080/t690v9pu/
HTML:
<script src="https://unpkg.com/vue"></script>
<div id="app">
<button @click="generate">Generate Object</button>
<li v-for="node in nodes">
{{node.num}}
</li>
</div>
JavaScript:
new Vue({
el: '#app',
data: {
nodes: []
},
methods: {
node() {
num = Math.random();
console.log(num);
},
generate() {
this.nodes.push(new this.node());
}
}
});
【问题讨论】:
标签: javascript vue.js vuejs2