【发布时间】:2018-01-03 01:42:25
【问题描述】:
我有这个功能,当满足某些条件时,它会重定向到登录页面。这部分工作正常,但我想在登录页面上显示一条消息,说明它们被重定向的原因。
目前我的 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 页面重定向到那里。
感谢任何帮助!
【问题讨论】:
-
如果您要将邮件附加到
$scope,为什么不将其附加到$rootScope?这是一个始终可用的单例。我并不是说这是最好的策略,但它至少应该适用于测试。然后稍后您可以创建一个可以保存消息的单独服务。 -
@FrankModica 感谢您的帮助,效果很好。
标签: javascript jquery angularjs