AngularJS-覆盖ngInclude指令不起作用
我正在尝试为ng添加缓存破坏,包括以下部分:AngularJS-覆盖ngInclude指令不起作用,angularjs,angularjs-ng-include,Angularjs,Angularjs Ng Include,我正在尝试为ng添加缓存破坏,包括以下部分: app.directive('ngInclude', ['$http', '$q', '$rootScope', '$timeout', function ($http, $q, $rootScope, $timeout) { return{ restrict : "EAC", scope : { src : '@' },
app.directive('ngInclude', ['$http', '$q', '$rootScope', '$timeout',
function ($http, $q, $rootScope, $timeout) {
return{
restrict : "EAC",
scope : {
src : '@'
},
priority : 1000,
link : function($scope, elem, $attrs, model) {
console.log($scope.src);
$scope.src = $scope.src.replace('.html', '.html?v=' + pageConfig.rv);
$attrs.src = $scope.src;
console.log($scope.src);
}
};
}
]);
我将优先级设置为1000,以覆盖ngInclude的默认值400。我可以在控制台中看到src
已更改,但http调用不包括我的v
param。我相信我的ngInclude是在实际的ngInclude呈现之后调用的
是否有任何方法可以覆盖ngInclude行为或其他方法来实现缓存破坏?假设您的模板永远不会在模板缓存中结束,为什么不添加一个通用HTTP请求拦截器呢?此外,与尝试构建自己的
ngInclude
相比,您可能更幸运地装饰现有的ngInclude,但我肯定会先尝试HTTP拦截器。我认为覆盖ngInclude会更干净,因为将来它很容易根据特定需要查找和修改。我还将试用http拦截器。我也试过装潢师,但没用。