我有这个功能,当满足某些条件时会重定向到登录页面。这部分工作正常,但我想在登录页面上显示一条消息,说明它们被重定向的原因。
目前我在app.js
中有这个功能app.run(function ($rootScope, $window) {
$rootScope.$on('$routeChangeStart', function (event) {
//stuff to evaluate
if (stuff = true) {
$rootScope.$evalAsync(function () {
$scope.message = "test";
$window.location.assign('#/login');
});
}
});
});
我还有一个页面,login.html,有一个div,我想要我的消息。
<div ng-hide="message == ''" class="alert alert-danger">
{{message}}
</div>
我尝试在函数中添加$ scope,并访问$ scope.message,但我不认为我的范围正确。当我包含它时,该函数永远不会命中,但它没有。有什么办法可以访问此login.html页面的范围吗?登录页面确实有它自己的控制器,但我需要能够从这个app.js页面重定向到那里。
感谢任何帮助!
答案 0 :(得分:1)
$ scope会重新实例化(重新创建),您应该使用 service/root$scope/localStorage
将值传递给下一页。
使用$ rootScope将其更改为,
$rootScope.$evalAsync(function () {
$rootScope.message = "test";
$window.location.assign('#/login');
});