首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >未在数据对象中定义时,VueJS变量值不会更新

未在数据对象中定义时,VueJS变量值不会更新
EN

Stack Overflow用户
提问于 2018-07-06 10:45:45
回答 1查看 6.9K关注 0票数 2

我有个问题。当我没有在Vue实例的数据中定义变量a时,它不会更新以匹配新值。

代码语言:javascript
复制
<div id="app">
  <p>{{ a }}</p><br>
  <input type="text" v-model="a">
</div>

new Vue({
  el: "#app",
  data: {
  },
})

但是当我在数据中使用form时,它是有效的。为什么会有这样的差异呢?

代码语言:javascript
复制
<div id="app">
  <p>{{ form.a }}</p><br>
  <input type="text" v-model="form.a">
</div>

new Vue({
  el: "#app",
  data: {
    form:[]
  },
})

此外,在同时使用aform的情况下,当我更改输入a时,文本元素不会更新。当我更改输入form.a时,文本元素aform.a都会更新。有人能解释一下这种行为吗?

代码语言:javascript
复制
<div id="app">
  <p>{{ a }}</p><br>
  <input type="text" v-model="a">
  <p>{{ form.a }}</p><br>
  <input type="text" v-model="form.a">
</div>

new Vue({
  el: "#app",
  data: {
    form:[]
  },
})

我的例子:https://jsfiddle.net/0g8npdev/6/

EN

回答 1

Stack Overflow用户

发布于 2018-07-06 11:52:49

如果您希望进行双向数据绑定,则应该在Vue实例的数据对象中声明变量a

代码语言:javascript
复制
<div id="app">
  <p>{{ a }}</p><br>
  <input type="text" v-model="a">
</div>
new Vue({
  el: "#app",
  data: {
    a: ''
  },
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51202335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档