0
我有麻煩找到完全動態指令的解決方案。我使用angular-gridster庫對儀表板頁面的圖塊進行概述。我想通過一個靈活的指令動態加載一些特定的圖塊。動態控制器和templateUrl注入角度指令
<div gridster="vm.model.gridsterOptions">
<ul>
<li gridster-item="tile.tileParams.gridParams" ng-repeat="tile in vm.model.dashboards.tiles">
<div class="box" ng-controller="tileGrid_TileController">
<eg-tile template-url={{tile.tileEngine.tempUrl}}
controller-name={{tile.tileEngine.tileCtrl}}>
</eg-tile>
</div>
</li>
</ul>
</div>
我創建了egTile指令:
(function() {
function implementation() {
return {
restrict: 'E',
transclude: true,
scope: true,
controller: '@',
bindToController:true,
controllerAs: 'vm',
name: 'controllerName',
templateUrl: function (elem, attrs) {
return attrs.templateUrl || 'app/module/tileGrid/view/templates/empty.html';
}
};
}
var declaration = [implementation];
angular.module('app.tileGrid').directive('egTile', declaration);
}());
,如果我在egTile指令使用固定字符串像
<eg-tile template-url="string_url" controller-name= "string_ctrl"></eg-tile>
該指令將工作,但我想要動態選擇控制器和templateUrl。 我已經嘗試使用$ parse和$ observe服務,但沒有成功。 這甚至有可能使指令如此靈活嗎?
在此先感謝