angular同一页面跳转重新执行方法
问题
当收到导航到当前url的请求,angular路由器会忽略,重复点击同一链接页面不会刷新,也不会重新执行ngoninit函数
解决
1、跳转时给router中增加参数
this.router.navigate([path],{queryparams:{lang:'zh-cn'}})
2、在组件中订阅queryparammap,判断有lang字段就重新执行init方法
constructor(
private sanitizer: domsanitizer,
private routerinfo: activatedroute,) {
this.routerinfo.queryparammap.subscribe(params => {
if (params.get('lang')) {
this.init();
}
});
}
init(): void{
console.log('重新执行了')
}
angularjs中界面跳转或返回,界面刷新问题cache:false
问题描述
第一次进界面,按钮可以点击,第二次进去按钮不能点击了,按钮事件是在controller里写的。
解决方法
加上cache:false,即可。表示页面重新刷新加载。
.state('tab.shouye', {
cache:false,
url: '/shouye',
views: {
'tab-shouye': {
templateurl: 'app/views/tab-shouye.html',
controller: 'shouyectrl'
}
}
})总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论