Javascript 无法连续加载包含ng和$templateCache的相同url
主要jsp:Javascript 无法连续加载包含ng和$templateCache的相同url,javascript,angularjs,jsp,angularjs-directive,angularjs-ng-include,Javascript,Angularjs,Jsp,Angularjs Directive,Angularjs Ng Include,主要jsp: 但是当我将随机数附加到url时,它会起作用。我不想附加随机数。为什么它不能与$templateCache一起使用。删除(url)可能是因为模板是用另一个键存储的,而不是url。尝试控制台log$templateCache.ret(url)。它是否输出您的模板?似乎您正在控制器中注入$templateCache。有错误吗? <div> <jsp:include page='/jsp/pnPanel.jsp'/>
但是当我将随机数附加到url时,它会起作用。我不想附加随机数。为什么它不能与$templateCache一起使用。删除(url)可能是因为模板是用另一个键存储的,而不是
url
。尝试控制台log$templateCache.ret(url)
。它是否输出您的模板?似乎您正在控制器中注入$templateCache
。有错误吗?
<div>
<jsp:include page='/jsp/pnPanel.jsp'/>
</div>
<div id="pnApp" ng-controller="pnController">
<div>
<a href="#" ng-click="loadPopup('cc');">
<font size="2" color="#cc6600">
<b>CC:</b>
</font>
</a>
</div>
<ng-include src="popupurl"></ng-include>
</div>
<script>
angular.element(document.getElementById("pnApp")).ready(function() {
angular.bootstrap(document.getElementById("pnApp"), ["pnApp"]);
});
var pnApp= angular.module('pnApp', []);
pnApp.config(function($controllerProvider, $provide, $compileProvider, $filterProvider, $httpProvider) {
// to keep the older references.
pnApp._controller = pnApp.controller;
pnApp._service = pnApp.service;
pnApp._factory = pnApp.factory;
pnApp._value = pnApp.value;
pnApp._directive = pnApp.directive;
// Lazy loading for controller.
pnApp.controller = function(name, constructor) {
$controllerProvider.register(name, constructor);
return(this);
};
// Lazy loading for service.
pnApp.service = function(name, constructor) {
$provide.service(name, constructor);
return(this);
};
// Lazy loading for factory.
pnApp.factory = function(name, factory) {
$provide.factory(name, factory);
return(this);
};
// Lazy loading for value.
pnApp.value = function(name, value) {
$provide.value(name, value);
return(this);
};
// Lazy loading for directive.
pnApp.directive = function(name, factory) {
$compileProvider.directive(name, factory);
return(this);
};
// Lazy loading for filter
pnApp.filter = function(name, filter) {
$filterProvider.register(name, filter);
return(this);
};
//initialize get if not there
if (!$httpProvider.defaults.headers.get) {
$httpProvider.defaults.headers.get = {};
}
//disable IE ajax request caching
$httpProvider.defaults.headers.get['If-Modified-Since'] = '0';
});
pnApp.controller('pnController', function($scope) {
$scope.loadPopup = function(pnSectionName) {
$scope.popupurl = "";
url = getUrl(pnSectionName);
$scope.popupurl = url;
};
};
</script>
pnApp.controller('pnController', function($scope,$templateCache) {
$scope.loadPopup = function(pnSectionName){
url = getUrl(pnSectionName);
$templateCache.remove(url);
$scope.popupurl = "";
$scope.popupurl = url;
};
};