简体   繁体   中英

How can I access the public methods on a module from a private?

I have this really annoying problem. I need to able to access the public module function from within a private module pattern. I have written a comment on the problematic line...is there any way to do this?

angular.module("myApp").factory('models', [function () {

    function itemModel(dtoItem) {

        this.type = dtoItem.type;

    }

    function groupModel(dto) {

        this.items = [];

        angular.forEach(dto.getFeatures(), function (item) {
            self.items.push(new itemModel(item)); //THIS NEEDS TO BE self.items.push(new ItemModel(item)); (Notice the use of the capital letter to denote a public function) so that I can run a test externally and check the type of the 'items'
        });

    }

    return {
        ItemModel: itemModel,
        GroupModel: groupModel
    }

}]);

看完《 学习JavaScript设计模式》这本书后,我意识到您做不到。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM