angular同一页面跳转重新执行的实现方法

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'
      }
    }
  })

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源链接:https://www.jb51.net/javascript/305175fo7.htm

© 版权声明
THE END
支持一下吧
点赞6 分享
评论 抢沙发
头像
请文明发言!
提交
头像

昵称

取消
昵称表情代码快捷回复

    暂无评论内容