我有一个本地JavaScript类:

var Holder = new function(elements) {

    this.elements = elements;

    this.anyFunction() {
        // use of this.elements
    };

};


如何以角度方式使用它?例如,如果我想使用:

.controller('AnyController', ['Holder',
function (Holder) {

    var elements = [
        {id: 1, label: 'foo'},
        {id: 2, label: 'bar'}
    ];

    $scope.holder = new Holder(elements);

}])


那我该如何注册我的Holder类?有哪些选项(如果有)?

同时,在Angular应用中使用本机JavaScript类是否不好(即不将其集成到框架中)?

最佳答案

你可以去工厂上课

    .factory('Holder', function() {
        return (function (){
            this.foo = foo;
            this.bar = bar;
        });
    });


现在使用它

.controller('AnyController', ['Holder', function (Holder) {
    var holder = new Holder();
}]);


编辑
使用factory代替service,如注释中所建议

关于javascript - 在Angular应用程序中集成 native JavaScript类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21451468/

10-11 21:52