Возможно ли реализовать черту в AngularJS? - PullRequest
0 голосов
/ 28 февраля 2019

Я хочу реализовать такие черты, как PHP, в AngularJs.Как лучше всего это сделать?

1 Ответ

0 голосов
/ 28 февраля 2019

Я нашел простой способ сделать это:

Сначала создайте файл с именем 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;
});
...