我尝试使用自定义指令为我的应用程序创建导航树。现在我的指令(缩小)中有以下内容:
(function() {
'use strict';
angular
.module('app.layout')
.directive('cnNavTree', ['$log', '$state', cnNavTree]);
function cnNavTree($log, $state) {
var directive = {
link: link,
restrict: 'EA',
templateUrl: 'app/layout/cn-nav-tree.html'
};
return directive;
function link(scope, element, attrs) {
scope.$on('stateChange', function (event, toState, fromState) {
updateNavTree(event, toState, fromState)
});
function updateNavTree(event, toState, fromState) {
element.html('<span class="color" ui-sref="app.twoWays">Report load</span>');
}
}
}
})();
除了element.html 中的 ui-sref之外,一切正常,它无法正常工作,我无法进入 app.twoWays 状态。任何想法,我们如何解决问题?
提前致谢
答案 0 :(得分:1)
由于DOM上有角度绑定。在将DOM注入DOM树之前,您必须compile
具有当前范围的HTML元素。
//inject $compile before using it.
var compiledDOM = $compile('<span class="color" ui-sref="app.twoWays">Report load</span>')($scope);
element.append(compiledDOM);