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')
,其他同理