这里不更新明白,报错是正确的吗
来源:3-1 Vue实例
unbreakable_全栈
2020-11-22 16:27:47
# 具体遇到的问题
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="./vue.js"></script>
</head>
<body>
<div id="root">
<div @click="handleClick">{{foo}}</div>
<!-- 这里的 `foo` 不会更新! -->
<!-- TODO 这里不更新明白,报错是正确的吗 -->
<button @click="foo = 'baz'">change it</button>
<item></item>
</div>
</body>
<script>
Vue.component('Item', {
template: '<div>hello vue.js</div>'
})
var obj = {
foo: 'bar'
}
Object.freeze(obj)
var vm = new Vue({
el: '#root',
data: obj,
methods: {
handleClick () {
alert('helo')
}
},
})
</script>
</html>
1回答
好帮手慕夭夭
2020-11-22
同学你好,报错的意思是“无法为对象的只读属性赋值”,即如下代码报错:

代码中通过Object.freeze冻结了对象obj,所以它的属性foo是只读的,不能修改。把如下去掉测试,就不报错了:

祝学习愉快~
相似问题