Javascript 即使数据发生更改,也不会在vue.js中更新DOM
即使数据正确更改,这些更改也不会反映在DOM中。这里有一个非常基本的例子来说明这个问题-Javascript 即使数据发生更改,也不会在vue.js中更新DOM,javascript,vue.js,Javascript,Vue.js,即使数据正确更改,这些更改也不会反映在DOM中。这里有一个非常基本的例子来说明这个问题- <template> <input type="text" v-model="username" /> <p>{{error}}</p> <button @click="saveData">Save</button> </template> <script> export default {
<template>
<input type="text" v-model="username" />
<p>{{error}}</p>
<button @click="saveData">Save</button>
</template>
<script>
export default {
data () {
model.error = ''; // adding a new property
return model; // 'model' is a global variable
}
methods: {
saveData() {
if (!this.username) {
this.error = 'Please enter the username!';
return;
}
// ... other code
}
}
};
</script>
{{error}}
拯救
导出默认值{
数据(){
model.error='';//添加新属性
返回模型;//“模型”是一个全局变量
}
方法:{
saveData(){
如果(!this.username){
this.error='请输入用户名!';
返回;
}
//…其他代码
}
}
};
调用saveData()
后,error
变量包含未填充用户名的消息。但是它没有出现在段落中
有一个窍门。如果在
error
变量更改时也更改了username
属性,则会反映更改。您需要返回error,否则Vue无权访问它
data () {
return {
error: '',
model: model,
};
}
您需要返回错误,否则Vue无法访问该错误
data () {
return {
error: '',
model: model,
};
}
只要在
模型
上为数据
定义了错误
和用户名
属性,您就应该能够实现您想要做的事情。我在下面包含了一个简单的片段,展示了它的工作原理。请查看文档中的
var模型={
用户名:“默认”
};
新Vue({
el:“应用程序”,
数据:()=>{
model.error=model.error | |“”;
收益模型;
},
方法:{
updateError(){
this.error=“Test”;
},
updateUsername(){
this.username=“你好,世界!”;
}
}
});代码>
更新错误
更新用户名
错误:{{Error}}
用户名:{{UserName}
只要在模型
上为数据
定义了错误
和用户名
属性,您就应该能够实现您的目标。我在下面包含了一个简单的片段,展示了它的工作原理。请查看文档中的
var模型={
用户名:“默认”
};
新Vue({
el:“应用程序”,
数据:()=>{
model.error=model.error | |“”;
收益模型;
},
方法:{
updateError(){
this.error=“Test”;
},
updateUsername(){
this.username=“你好,世界!”;
}
}
});代码>
更新错误
更新用户名
错误:{{Error}}
用户名:{{UserName}
访问每个属性时,我必须添加模型关键字。我尝试在模型中添加错误变量,然后返回模型,但仍然不起作用。我更新了问题。。。它仍然不起作用,我必须在访问每个属性时添加model关键字。我尝试在模型中添加错误变量,然后返回模型,但仍然不起作用。我更新了问题。。。它仍然不起作用从数据返回的对象直接用于为组件创建$data
。如果在多个组件中使用相同的模型
对象,它们最终将共享相同的$data
对象。这包括错误
属性。这真的是你想要的吗?如果是,则只需将错误
属性添加到模型
的初始定义中,以便在Vue首次遇到该对象时使该属性处于反应状态。我只想将错误
属性添加到此组件。你能告诉我怎么做吗?从data
返回的对象直接用于为组件创建$data
。如果在多个组件中使用相同的模型
对象,它们最终将共享相同的$data
对象。这包括错误
属性。这真的是你想要的吗?如果是,则只需将错误
属性添加到模型
的初始定义中,以便在Vue首次遇到该对象时使该属性处于反应状态。我只想将错误
属性添加到此组件。你能告诉我怎么做吗?我发现问题出在model
对象上。如果我尝试任何其他对象,它的工作!我发现问题出在模型
对象上。如果我尝试任何其他对象,它的工作!