recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - angular公共功能的抽象定义问题

在目前工作中,遇到很多去判断一个字符串是否在一个数组里的需求,类似jQuery里的inArray函数,我在全局的MainCtrl控制器里定义了一个判断方法,返回布尔值,现在需要在指令里调用这个方法。

后来我又想了下,是不是应该把这个定义放在Service里,让其他控制器和指令共享这个服务,不知道我这个想法是否正确,望各位大神指教!

黄舟黄舟2889 Il y a quelques jours499

répondre à tous(2)je répondrai

  • 怪我咯

    怪我咯2017-04-11 11:56:01

    思路正确,善于思考,点赞

    补充:

    你思路都有了,怎么还缺demo?^^,来给你个简单的

    app.service('utils', [function() {
        
        this.inArray = function(arr, str) {
            return arr.indexOf(str) >= 0;
        };
        
    }]);

    然后你就可以在你的各种controllerdirective里用了,譬如:

    app.directive('fuckDir', ['utils', function(utils) {
        return {
            restrict: 'AE',
            scope: {},
            link: function() {
                console.log(utils.inArray(['hello', 'fuck'], 'fuck'));
            }
        };
    }]);

    répondre
    0
  • ringa_lee

    ringa_lee2017-04-11 11:56:01

    angular.module("myapp",["util"]).controller("myCtrl",["utilService",function(utilService){
        utilService.inArray();
    }]);
    angular.module("util").factory("utilService",function(){
        return {
            //do something...
            inArray : function(){}
        }
    });
    
    我是这样写。。给你参考

    répondre
    0
  • Annulerrépondre