angularJS指令動態加載template


angularJS提供了自定義指令的功能,指令可以定義自己的模板控制器,這個就類似於現在框架的組件,一個指令一般對應一個模板,

   templateUrl: 'templates/exportTmp.html', 
template:'<div>............</div>'

但有時候我們想動態改變加載的指令模板

1)合理使用ng-include

html:

<div ng-switch="myVar">
  <div ng-switch-when="action">
     <div ng-include="getTemplate('action')"></div>  
  </div>
  <div ng-switch-when="view">
     <div ng-include="getTemplate('view')"></div>
  </div>
  <div ng-switch-when="edit">
     <div ng-include="getTemplate('edit')"></div>
  </div>
  <div ng-switch-default>
      <div ng-include="getTemplate('action')"></div>
  </div>
</div>

js:

   link: function ($scope, el, attr) {
           $scope.getTemplate = function(flag) {
                   if(flag=='action') {
                      template='./src/html/action.html';
                   }
                    .....
                     return template;
                     }  
               }

 

  

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM