gpt4 book ai didi

AngularJS UI 路由器 : receive an event every time a user goes to a state

转载 作者:行者123 更新时间:2023-12-02 23:15:07 25 4
gpt4 key购买 nike

当用户进入某个状态时,即使他们连续两次进入该状态(即单击同一网址两次),我也需要在 AngularJS ui-router 中接收一个事件。例如,in this plunk ,仅当您第一次单击该 url 或单击其他 url 时,您才会收到通知。如果您点击同一网址两次,您将不会看到警报消息。

无论如何,我需要在每次用户单击链接时触发该事件。找不到 ui-router 事件,有什么想法吗?

HTML:

   <a href="#" ui-sref="page1">Populate page 1</a>
<a href="#" ui-sref="page2">Populate page 2</a>

<br/><br/>

<div ui-view></div>

Javascript:

angular.module("app", ['ui.router']);

function MyCtrl($scope) {}

angular.module("app").
config(function($stateProvider, $urlRouterProvider) {

$urlRouterProvider.otherwise("/");

$stateProvider
.state('page1', {
templateUrl: 'page1.html',
controller: function($scope) {

$scope.$on("$viewContentLoaded", function(){
alert("$viewContentLoaded - 1");
});

}
})
.state('page2', {
templateUrl: 'page2.html',
controller: function($scope) {

$scope.$on("$viewContentLoaded", function(){
alert("$viewContentLoaded - 2");
});

}
});

});

最佳答案

给你:

myAppModule.controller('SomeBaseController', function($scope) {

// called when any state changes.
$scope.$on('$stateChangeStart', function(event, toState, toParams) {

// call event.preventDefault() to prevent from transition.
});
});

引用:http://angular-ui.github.io/ui-router/site/#/api/ui.router.state .$状态

Plunkr:http://plnkr.co/edit/6kimGOWlO5LvU5bTcQuH?p=preview

希望这有帮助!

关于AngularJS UI 路由器 : receive an event every time a user goes to a state,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27662301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com