您好我已经在这个问题上待了好几天了。我正在尝试使用Vue的v-model将数据绑定到输入文本。我的Vue安装在我的项目中,标题中添加了cdn
链接。文本框只是在重新加载时显示数据,然后消失。这可能是安装问题吗?我在我的控制台上的Laravel项目中直接安装了npm vue。
我的HTML:
<div id='postEdit'>
<input type="text" name="title" id="title" class="form-control" v-model="post.body">
</div>
我的Vue:
var edit = new Vue({
el: '#postEdit',
data: {
post: {
body: 'this is body'
}
},
});
我在控制台中运行edit.post时的输出:
Object { body: Getter & Setter, … }
答案 0 :(得分:0)
您的数据属性错误,它需要是返回对象的函数。改变如下:
{{1}}
答案 1 :(得分:0)
Vue.js documentation说在data
选项中你必须使用普通对象:
Vue将递归地将其属性转换为getter / setter以使其“被动”。 对象必须是纯粹的:忽略浏览器API对象和原型属性等本机对象。根据经验,数据应该只是数据 - 不建议用自己的状态行为来观察对象。
对于您的示例,我使用计算属性返回body
的{{1}}属性。
我的意思是this JSFiddle。
答案 2 :(得分:0)
只需将您的数据设为功能并再次检查即可。 proof
<div id='postEdit'>
<input type="text" name="title" id="title" class="form-control" v-model="post.body">
</div>
var edit = new Vue({
el: '#postEdit',
data: function() {
return {
post: {
body: 'this is bodygfdgfd'
}
}
}
});
哦,这个控制台的东西......试试edit.post.body
你看到{getter,setter}因为Vue&#34;编译&#34;数据对象使用Object.defineProperty方法来观察数据的变化。在引擎盖下吸气剂工作正常,相信我;)