路由中有两个:id的情况怎么动态设置前面的id?
官网上和好多文章(估计都是抄得,尼玛代码都一模一样,真没节操)的例子是这样的:
var CreditCard = $resource('/user/:userId/card/:cardId',
{userId:123, cardId: '#id' }, { // # 换成 @
charge: {method:'POST', params:{charge:true}
}
});
userId是写死得,实际应用场景下,这个ID怎么动态设置??
下面是我自己想出来的办法。可是 get query 包括修改都能用 ,唯独save(创建)的时候sourceID设置不上去。。
在线等,求大神~~
坐等答案
你知道resource是什么意思么?
你这个sourceID和id后面传的都是_id,换不同的名字就好了
这个问题最后被我自己搞定了。。跟@kekeliu 说的不是一回事。。在我来问之前,你说的那个我就试过了。。
这个 @ 符号表明如果你的数据对象,这里就是 creditCard 的一个实体,如果有 _id 属性的话 sourceID 使用 这个_id 的值, 所以修改和query 可以,因为已经有 _id 了 但是 save 不行,因为是新的要保存,所有还没有 _id 产生,所以你需要指定一个 sourceID, 例如 {sourceID: 1} 之类的
@russj 恩恩,是的,后来我save的时候,我在前面指定了一个sourceID,就好使了。 save({sourceID: $stateParams.sourceID}, $scope.data, function () {}) 不知道你说的是不是这样??
@berwin 是的。你没有就得指定。一般我们如果在链接后设置第二个 { } 参数的目的是设置缺省值和使用 @ 来表明使用 source 里的属性
@russj 多谢大神指点~