acr*_*uui 6 angularjs restangular
我有这样的服务:
.factory('Car', function(Restangular) {
var baseCars = Restangular.all('cars');
Restangular.extendModel('cars', function(obj) {
obj.extraMethod = function() { console.log('method added'); };
return obj;
});
return {
show: function(id) {
return baseCars.one(id).get();
}
};
});
Run Code Online (Sandbox Code Playgroud)
和这样的控制器:
.controller('CarCtrl', function ($scope, $stateParams, Car) {
Car.show($stateParams.id).then(function(car) {
$scope.car = car;
$scope.car.extraMethod();
});
});
Run Code Online (Sandbox Code Playgroud)
但是,这会导致undefined is not a function错误$scope.car.newMethod().
有谁知道这是为什么以及如何让它工作?
其实你离得太近了,但你写的时候却错过了
Restangular.extendModel('cars', function(obj) {
obj.extraMethod = function() { console.log('method added'); };
return obj;
});
Run Code Online (Sandbox Code Playgroud)
这只是用“汽车”路线扩展对象......
但你的返回对象的路线是你的 id 参数......
试试这个代码...
factory('Car', function(Restangular) {
Restangular.extendModel('cars', function(obj) {
obj.extraMethod = function() { console.log('method added'); };
return obj;
});
return {
show: function(id) {
return Restangular.one('cars', id).get();
}
};
}
Run Code Online (Sandbox Code Playgroud)
这次返回对象的路线是汽车,它将有extramethod()...
| 归档时间: |
|
| 查看次数: |
1051 次 |
| 最近记录: |