避免硬编码控制器名称Angularjs

时间:2014-04-15 23:26:26

标签: javascript angularjs angularjs-controller

我是角度的初学者..我要求避免在应用程序中对任何名称进行硬编码..我使用过

myapp.constant("constantName",
{
    "name":"name1"
});

避免硬编码html ..我还想避免硬编码控制器名称......

示例:

myapp.controller("IndexCtrl",function($scope){});

没有控制器中的字符串IndexCtrl,有没有办法定义这样的东西

myapp.controller(constantName.controller,function($scope){})

其中常量为

myapp.constant("constantName",
{
    "name":"name1",
    "controller" : "IndexCtrl"
});

感谢您的帮助:)

1 个答案:

答案 0 :(得分:1)

我之前没有看到任何类似的东西,但我看到(并完成)的是如下定义你的控制器:

(function(){
    var controllerName = 'MyCtrl';
    angular.module('myModule').controller(controllerName, function($scope, $log){
        // Now in my controller I have full access the controller name 
        // this can be used for any logging that I may need to do
        $log.debug('something broke in ' + controllerName);
    });
})();
相关问题