我可以在AngularJS中重新运行ng-directive,还是对ng指令进行一些“懒惰运行”?

时间:2016-02-26 18:25:52

标签: angularjs angularjs-directive

我收到此错误

  

“参数'StatusBarController'不是函数,未定义”来自   Angularjs。

奇怪的是,问题来自HEADER(StatusBar)页面块,而在另一个块中,我在下面看不到这一块。

<div class="row" ng-repeat="person in currentPageData.getCustCard.persons">
       <p class="col-xs-9 a24sm-15 listChildrenCard">
           {{person.firstName}}'s {{ person.card.description == "xxxx Default" 
              ? "original" : "custom" }} xxxx card
      </p>
      <div class="col-xs-1 a24sm-3 border"></div>
       <p class="col-xs-3 a24sm-6 costs">&pound;{{ person.card.price }}</p>
</div>

这个问题是随机发生的,因为我没有使用角度路由,而是由EJS.js编写的一些引擎,我写了一些东西迫使Angular激活视图(mainCtrrl.scope().activateView(htmlCtrlContainer))强制Angular运行控制器通过EJS路由引擎。 现在我想知道是否重新运行那段代码上的ng-repeat指令。

Angular部分(在路由函数内部),如果一个块需要,我将包含任何js文件:

for(var i=0; i< blockRegister[block].javascriptURL.length; i++){

                        JsAttached = attachJavaScriptFileInitial(blockRegister[block].javascriptURL[i]);

                        /*****************************  SHOW MAIN VIEW CONTAINER  *************************/

                        JsAttached.done(function(){
                            /*****************************  ANGULAR CONTROLLER LAZY LOAD :: START *************************/
                        if( blockRegister[block].hasOwnProperty("controller") ) {

                            hash[0] = location.hash.split("_")[0].substr(1);

                            var angularMainCtrl = angular.element(document.getElementById("view-container"));
                            var angularHtmlCtrlContainer = angular.element(document.getElementById(section));
                            //console.log( angularMainCtrl.scope(), angularHtmlCtrlContainer );
                            if(!!angularMainCtrl.scope()){ angularMainCtrl.scope().activateView(angularHtmlCtrlContainer); }
                        }
                        /*****************************  ANGULAR CONTROLLER LAZY LOAD :: END *************************/
                    });

                }

0 个答案:

没有答案