首页 > Vue的vue-resource插件这句如何理解的?

Vue的vue-resource插件这句如何理解的?

https://github.com/vuejs/vue-resource/blob/master/docs/resource.md

new Vue({

    ready: function() {

      var resource = this.$resource('someItem{/id}');

      // get item
      resource.get({id: 1}).then(function (response) {
          this.$set('item', response.item)
      });

      // save item
      resource.save({id: 1}, {item: this.item}).then(function (response) {
          // success callback
      }, function (response) {
          // error callback
      });

      // delete item
      resource.delete({id: 1}).then(function (response) {
          // success callback
      }, function (response) {
          // error callback
      });

    }

})

其中这句

var resource = this.$resource('someItem{/id}');

是什么意思?表示匹配 someItem/123、someItem/abc 这类的请求吗?还是只限id为整数的请求?


这是用了URI模板,{/id}相当于一个占位符,你可以传整数,也可以传入字符串。主要看你服务端的要求的参数是什么类型的。
URI模板请参考:URI Template


简单的理解就是,你一旦注册 resource 路由:

var resource = this.$resource('someItem{/id}');

就可以直接使用以下方法:

get: {method: 'GET'},
save: {method: 'POST'},
query: {method: 'GET'},
update: {method: 'PUT'},
remove: {method: 'DELETE'},
delete: {method: 'DELETE'}

这些方法对应的是 RESTful 设计中的各个 method 的标准。

而这里的{/id}你可以理解为一个变量,就像例子的一样:

  var resource = this.$resource('someItem{/id}');

      // get item
      resource.get({id: 1}).then(function (response) {
          this.$set('item', response.item)
      });

这里面的resource.get({id: 1})最后就会变成这样resource.get('someItem/1'),其他同理

【热门文章】
【热门文章】