数据未在Vue中更新

时间:2016-03-23 13:23:36

标签: javascript vue.js

当我触发该方法时,我得到了我想要的字符串但不确定为什么它没有保存在数据对象上。任何帮助将不胜感激。感谢

new Vue({
  el: '#app',
  data: {
    output: '' // <- var test (string) 
  },
  methods: {
    searchProperty: function () {
        $.get(baseUrl, function(res) {
            var test = $(res).find('#label_bin_output').text();
            this.output = test;
        });
    }
  }
});

更新:忘了提到我使用jQuery进行ajax请求。

2 个答案:

答案 0 :(得分:2)

new Vue({
  el: '#app',
  data: {
    output: '' // <- var test (string) 
  },
  methods: {
    searchProperty: function () {
        var self = this;
        ^^^^^^^^^^^^^^^^
        $.get(baseUrl, function(res) {
            var test = $(res).find('#label_bin_output').text();
            self.output = test;
            ^^^^
        });
    }
  }
});

答案 1 :(得分:1)

问题是&#34; this.output&#34;在Jquery的范围内; (这= = jquery)。

你需要引用主要的obj:

new Vue({
   el: '#app',
   data: {
     output: '' // <- var test (string) 
   },
   methods: {
    searchProperty: function () {
        var _self = this; // ref to main...
        $.get(baseUrl, function(res) {
            // try console.log this and _self
            console.log(_self);
            console.log(this);
            var test = $(res).find('#label_bin_output').text();
            _self.output = test;
        });
    }
  }
 });