【发布时间】:2019-07-22 08:47:49
【问题描述】:
我想在 AngularJs 中实现 PHP 等特性。最好的解决方案是什么?
【问题讨论】:
标签: angularjs mixins composition angular-module
我想在 AngularJs 中实现 PHP 等特性。最好的解决方案是什么?
【问题讨论】:
标签: angularjs mixins composition angular-module
我找到了一个简单的方法:
首先,创建一个名为traits.js的文件
angular.module('myApp')
.factory('Traits', function() {
return {
apply: function (_class, _trait) {
_.each(_trait, function (method, name) {
_class.prototype[name] = method;
});
}
}
});
然后,创建你的特征文件my-trait.js
angular.module('myApp')
.factory('MyTrait', function() {
return {
someMethod: function (param) {
//
},
anotherMethod: function (param) {
//
}
}
});
然后像这样使用特征:
angular.module('myApp')
.factory('MyResource', function($resource, Traits, MyTrait) {
var resource = $resource();
Traits.apply(resource, MyTrait);
return resource;
});
【讨论】:
_.each(_trait, function (method, name) {_class.prototype[name] = method;}); 之类的Object.assign(_class.prototype, _trait),而是显示了这种方法的真正本质。 ...