在我的主页面上有一个div id="page_content"
,我在该div中加载一个jsp页面。并且有一个刷新按钮,通过该按钮重新加载该div中的页面。我在那个页面上写了一些像{{1+2}}
的angularjs。首先它正确运行显示结果3.但是当点击刷新按钮时,调用$('#page_content').load(page_url);
页面刷新但我的angularjs func消失了它显示{{1+2}}
。怎么克服这个?
我试过路线功能,但它不起作用
angular.module('div', [])
.controller('divcontroller', ['$scope', function ($scope,$location)
{
$scope.ConfirmRefresh = function(){
$('#page_content').load(page_url);
}
}]);
angular.element(function()
{
angular.bootstrap(document, ['div']);
});
单击刷新按钮后,页面应加载角度js。
我相信这是函数缓存数据的问题,当下次调用它时,它会缓存代码而不是结果代码。
考虑使用:$window.location.reload()
这应该完全刷新页面
Thank you @Mark Schultheiss and @Tom Edwards
I make refresh directive and call on click event with compile and it works for me
.directive('refreshConfirm', function($http,$compile) {
return {
restrict: 'A',
link: function postLink(scope, element, attrs) {
element.bind('click', function () {
$http.get(page_url).then(successCallback, errorCallback);
function successCallback(response){
//success code
var ty=response.data;
var appi=angular.element(document.querySelector('#page_content')).html($compile(ty)(scope));
}
function errorCallback(error){
//error code
alert('error');
}
});
}
};
})