与Restangulars extendModel增加的功能是不确定的? [英] Function added with Restangulars extendModel is undefined?
本文介绍了与Restangulars extendModel增加的功能是不确定的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这样的服务:
.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();
}
};
});
和这样的控制器:
.controller('CarCtrl', function ($scope, $stateParams, Car) {
Car.show($stateParams.id).then(function(car) {
$scope.car = car;
$scope.car.extraMethod();
});
});
然而,这将导致一个不确定是不是一个函数
在 $ scope.car.newMethod()误差
有谁知道这是为什么,以及如何得到它的工作?
Does anyone know why this is and how to get it to work?
推荐答案
其实你太接近,但你缺少的,当你写
Actually you are too close but you missing that when you write
Restangular.extendModel('cars', function(obj) {
obj.extraMethod = function() { console.log('method added'); };
return obj;
});
这只能延长对象的'车'路线...
this only extend object with 'cars' route...
但你的回报对象的路线是无论你的id参数...
but your return object's route is whatever your id parameter...
试试这个code ...
try this code...
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();
}
};
}
这个时候返回对象的路线为汽车并它将有 extramethod()
...
这篇关于与Restangulars extendModel增加的功能是不确定的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文