散列更改不会触发ui-router更改?

时间:2015-12-03 23:55:33

标签: angularjs angular-ui-router

我的页面上有一个链接(在角度应用1的范围内),它改变了哈希位置

/app/#/location

我有另一个角度应用程序(2),它没有按照我期望的方式对哈希位置的变化作出反应(即通过触发locationChangeStart和改变状态)。我不完全明白为什么。有人可以向我解释一下吗?

编辑1:是的,页面上有两个角度应用程序,具有不同的角度版本,都是自举(叹息,不要问)。 ui-router配置如下所示:

$urlRouterProvider.otherwise(($injector) => {
    let $state = $injector.get("$state");

    [... snip ...]

    $state.go('list');
});

// Now set up the states
$stateProvider
    .state('messaging', {
        url: "/messaging/{param}",
        templateUrl: "messaging.html",
        controller: 'MessagingController'
    })
    .state('list', {
        url: "/list",
        templateUrl: "list.html",
        controller: 'ListController'
    });

这里没有什么真的太花哨,在任何人问之前,是的,我确实需要检查其他方面的状态。

bootstrapping看起来像这样:

angular.element(document).ready(function() {
  angular.element(document.getElementById('app-bootstrap')).prepend('<div ui-view></div>');
  angular.bootstrap(document.getElementById('app-bootstrap'), ['app']);
});

编辑2:这似乎可能根本不是与角度相关的问题,因为直接使用窗口'hashchange'事件似乎也不会触发;我已经确认window.onhashchange是正确的函数。

(棱角1.4.7)

0 个答案:

没有答案