Restangular提供了一个功能extendModel,它允许您向从服务器返回的对象添加功能。有没有办法将这些方法添加到尚未保存到服务器的空/新模型中?
答案 0 :(得分:2)
我想做同样的事情,但没有找到一个例子。以下是我最终如何做到这一点:
models.factory('User', function(Restangular) {
var route = 'users';
var init = {a:1, b:2}; // custom User properties
Restangular.extendModel(route, function(model) {
// User functions
model.myfunc = function() {...}
return model;
});
var User = Restangular.all(route);
User.create = function(obj) {
// init provides default values which will be overridden by obj
return Restangular.restangularizeElement(null, _.merge({}, init, obj), route);
}
return User;
}
有些事情需要注意: