在textAngular指令初始化之前设置$ rootScope

时间:2014-01-17 14:30:58

标签: javascript angularjs coffeescript

我想要自定义textAngular指令选项。

API文档说我应该设置$ rootScope.textAngularTools。{customButton}来构建一个函数。

但如果我在控制器上设置,指令会告诉我属性未定义。

如果我在module.run函数中设置,$ rootScope.textAngularTools是未定义的。

如何在指令初始化之前设置选项?

<text-angular to-toolbar="[['customButton']]">

这样设置(coffeescript)

$rootScope.textAngularTools.colourRed =
  display: "<button ng-click='action()' ng-class='displayActiveToolClass(active)'><i class='fa fa-square' style='color: red;'></i></button>",
  action: ->
  console.log 'action'
  activeState: ->
    false

1 个答案:

答案 0 :(得分:2)

从阅读资料中我建议你在模块运行功能中进行配置:

angular.modul('myApp', ['textAngular'])

.run(function($rootScope){
     $rootScope.textAngularTools = {
         colourRed: {
              display: "<button ng-click='action()' ng-class='displayActiveToolClass(active)'><i class='fa fa-square' style='color: red;'></i></button>",
              action: function(){
                console.log('action);
              }
         }
     };
})

.controller('yourController')...

为什么要这样做?它们在其指令中扩展了现有的textAngularTools对象:

$rootScope.textAngularTools != null)? $rootScope.textAngularTools : {}