我有角度指令的问题。当我编辑通过templateUrl
引用的文件的内容时,直到我删除缓存后才会显示结果。我有以下代码:
Directive.js
.directive('appMainsec',['$window', function ($window){
var objectMainSec = {
restrict: 'A',
templateUrl: 'partials/app-mainsec.html',
controller: function (){},
controllerAs: 'MainSectCtrl',
link: function ($scope,elemnt,attr){
elemnt.css('height', ($window.innerHeight - ($window.innerHeight * .25)) + 'px');
}
};
return objectMainSec;
}]);
APP-mainsec.html
<div><h1>Principal</h1></div>
和index.html
...
<div app-mainsec></div>
...
当我将<h1>Hi</h1>
更改为<h1>Hello</h1>
时,指令视图在删除缓存之前不会更新。
答案 0 :(得分:7)
原因是Angular在开始时只获取一次文件。您可以尝试将templateUrl用作函数并附加时间戳,以便每次都获得新的模板URL。
templateUrl: function() {
return 'partials/app-mainsec.html?' + +new Date();
}
但可能只有在编译指令时才会刷新你的指令。