vue.js - 为什么不能将 Vue.js 响应式属性直接添加到根模型?
问题描述
这是一些用于$set()
向模型添加新的响应式道具的代码。它工作正常。
<template>
<div id="app">
<div>
Prop1: {{ x.prop1 }}
</div>
<div>
<input type="button" value="Go" @click="go()">
</div>
</div>
</template>
<script>
export default {
name: 'app',
data() {
return {
x: {}
};
},
methods: {
go() {
this.$set(this.x, 'prop1', 'yay');
}
}
};
</script>
现在,如果我删除x
root 属性并尝试prop1
直接添加到this
它不起作用。
<template>
<div id="app">
<div>
Prop1: {{ prop1 }}
</div>
<div>
<input type="button" value="Go" @click="go()">
</div>
</div>
</template>
<script>
export default {
name: 'app',
data() {
return {
};
},
methods: {
go() {
this.$set(this, 'prop1', 'yay');
}
}
};
</script>
我知道你应该做这种事情,但我不明白为什么它不起作用。
解决方案
推荐阅读
- python - Conv1D 中的步幅使用
- android - 未使用电子邮件和联系号码验证在 Firebase 身份验证应用中发送 OTP
- c++ - c++ 如何使用模板调用内部类的构造函数?
- intellij-idea - 这是尾递归还是 Kotlin 编译器的问题?
- sql-server - 查询以获取具有限制的一对多记录
- javascript - HTML表格,固定列加载和水平滚动到左/右滚动箭头上的下一列单击
- ios - ARKit:以实际大小显示对象
- firebase - Firebase Firestore 和 Cloud Functions 显示错误的读取、写入和删除数字?
- listview - Xamarin Forms Listview 不更新 GUI
- python - 如何使用视频分析技术确定机器人汽车的速度?