Javascript 即使数据发生更改,也不会在vue.js中更新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 {

即使数据正确更改,这些更改也不会反映在DOM中。这里有一个非常基本的例子来说明这个问题-

<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
对象上。如果我尝试任何其他对象,它的工作!我发现问题出在
模型
对象上。如果我尝试任何其他对象,它的工作!