如何在DOM事件调用的方法中更改Vue.js数据值?

Art*_*ira 7 html javascript dom vue.js

免责声明:我知道Vue.js中有数据.

所以我有这个:

<html>
<body>

    <div id="app">
        <input @input="update">
    </div>

    <script src="https://unpkg.com/vue@2.1.10/dist/vue.js"></script>
    <script type="text/javascript">

        new Vue({

            el: '#app',

            data: {

                info: '',

            },

            methods: {

                update: function (event) {

                    value = event.target.value;

                    this.info = value;
                    console.log(value);

                }

            }

        });

    </script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

update每次用户键入某个内容时将触发一个方法的输入.这里的想法是更改info使用用户输入中键入的值调用的数据属性的值.

但是,由于某种原因,data属性的值不会改变.console.log(value)每次update触发方法时,当前输入值都会在控制台中正常打印,但不会更改info属性.

那么,如何使这项工作?

Rya*_*Zim 6

我没看到你的问题是什么;您的示例效果很好:

new Vue({

  el: '#app',

  data: {

    info: '',

  },

  methods: {

    update: function(event) {

      value = event.target.value;

      this.info = value;
      console.log(value)
    }

  }

});
Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/vue@2.1.10/dist/vue.js"></script>
<div id="app">
  <input @input="update">
  {{ info }}
</div>
Run Code Online (Sandbox Code Playgroud)


Art*_*ira 4

这里的问题是我混合了两种不同的上下文。

在另一个脚本中,我做了同样的事情,但输入绑定到另一个对其应用掩码的 js 脚本。info所以,这就导致了值不改变的问题。

然后我尝试在问题中复制此脚本中的问题(没有 js 掩码脚本),然后我认为属性中没有任何更改,info因为Vue.js 的 chrome 扩展显示该值没有更改,是无论我输入了多少内容,总是保持为空(所以可能是环境问题)。

最后,这只是我的一个小问题,真正的问题在于在单个输入中绑定两个不同的库。最终其中一个将无法工作,这是另一个问题的内容。