我的主页上有以下html:
<div ui-view resource-loader></div>
我的自定义指令是资源加载器。当我加载主页面时,它运行一次。但是当我导航到mainpage.html#/ page1时,它再次运行。我的问题是,因为它再次运行,这意味着当我导航到page1然后再次加载时,资源加载器指令被删除了吗?
指令代码,没什么特别的:
Directives.directive('resourceLoader', function (Helper) {
return {
link: function (scope, elem, attrs) {
Helper.callingSomeFinction();
}
}
});
答案 0 :(得分:0)
是的,它再次加载。使用ui-view并更改状态时,会加载具有自己范围的新控制器。正如您在指令中看到的那样,它需要一个范围。这个范围(因为你的html)是你所在的州。因此,当状态发生变化时,必须有一个新的指令。