加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 为什么$routeChangeSuccess永远不会被调用?

发布时间:2020-12-17 08:09:51 所属栏目:安全 来源:网络整理
导读:我在我的应用程序上做类似于以下的操作,但是我不能得到routeChangeSuccess事件。 var myapp = angular.module('myapp',["ui.router","ngRoute"]);myapp.controller("home.RootController",function($rootScope,$scope,$location,$route) { $scope.menus = [
我在我的应用程序上做类似于以下的操作,但是我不能得到routeChangeSuccess事件。
var myapp = angular.module('myapp',["ui.router","ngRoute"]);

myapp.controller("home.RootController",function($rootScope,$scope,$location,$route) {
    $scope.menus = [{ 'name': 'Home ','link': '#/home'},{'name': 'services','link': '#/services'} ]

    $scope.$on('$routeChangeSuccess',function(event,current) {

      alert('route changed');
    });

  }
);

myapp.config(
  function($stateProvider,$urlRouterProvider,$routeProvider) {
    $urlRouterProvider.otherwise("/home");
    $stateProvider
      .state('home',{
        url: "/home",//template: '<h1>Home Screen</h1>'
        templateUrl: "/Client/Views/Home/Home.htm"
      })
      .state('services',{
        url: "/services",//template: '<h1>Service screen</h1>'
        templateUrl: "/Client/Views/Home/service.htm"

      });
  });

下面一个非常简单的html也会失败

<body ng-controller="home.RootController">

    <ul class="nav">
      <li ng-repeat="menu in menus" "="">
        <a href="{{menu.link}}">{{menu.name}}</a>
      </li>
    </ul>
    <div ui-view> No data yet!</div>
  </body>

但是当我点击链接时,我看到视图正在更新,但$ routeChangeSucces事件永远不会被触发。

有没有我失踪的东西?

另一个问题是有一个事件,我可以钩住,以了解视图已经准备就绪,所以我可以开始一些额外的处理,如document.ready()。

plnlr但不完全工作…

问候
基兰

请检查此维基: State Change Events.提取:

> $ stateChangeSuccess – 状态转换完成后触发。

$范围。在$( ‘$ stateChangeSuccess’,
function(event,toState,toParams,fromState,fromParams){…})

所以代替$ routeChangeSuccess使用$ stateChangeSuccess。

要获得有关所有可用事件的更多详细信息,请查看维基Events.这里可以找到适合您的,可以是event $ viewContentLoaded …

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读