“success”方法已被弃用。请改用`then`方法

时间:2016-01-05 10:19:37

标签: vue.js

嗨,我是Vue世界的新手,这是我得到的警告: 成功方法已被弃用。请改用then方法。

以下是代码:

apiURL = 'api/movies';

new Vue({
   el: '#app',

   data: {
      'movies': ''
   },

   ready: function() {
      this.getMovies();
   },

   methods: {
      getMovies: function() {
         this.$http.get(apiURL, function(movies) {
            this.$set('movies', movies);
         });
      }
   }
});

这也是做这种事情的正确方法吗?

2 个答案:

答案 0 :(得分:6)

你可以这样做:

this.$http.get('/').then(function (response) {
    this.$set('movies', response.data);
}

总而言之,vue-resource有点儿错误和未经修饰。如果您使用最新版本,唯一的解释是开发人员使用他自己的弃用方法。即,success代替then

答案 1 :(得分:1)

您的GET请求应该使用then这样的承诺:

this.$http.get(apiURL).then(function (movies) {
    this.$set('movies', movies);
});

正如vue-resource自述页面所示:https://github.com/vuejs/vue-resource#example

弃用警告来自此行:https://github.com/vuejs/vue-resource/blob/ed85a38a1c88faf4e1ac1d7c15cca8376aa933c8/dist/vue-resource.js#L853

要回答你的上一个问题,你的方法没有任何内在错误。