【问题标题】:angular.js and require.js - how to navigate?angular.js 和 require.js - 如何导航?
【发布时间】:2013-05-03 05:09:21
【问题描述】:

我正在试验 angular.js 和 require.js。我想做的是一个简单的登录表单模块。我的项目基于https://github.com/partap/angular-requirejs-seed 项目。

所以,我有路线:

angular.module('app', [])
    .config([ '$routeProvider',
        function ($routeProvider) {
            $routeProvider.when('/auth', {
                templateUrl : 'forms/auth.html',
                controller : ...
            });
            $routeProvider.when('/account', {
                templateUrl : 'forms/account.html',
                controller : ...
            });
            $routeProvider.otherwise({ redirectTo : '/auth' });
        }]);

因此,当应用程序启动时,它会导航到 #/auth.没关系。 auth 控制器的创建如下:

define([ 'angular' ], function (angular) {
    return function ($scope) {
        ... do something here ...
        ... and redirect to /account if credentials are valid ...
    };
});

在重定向之前一切顺利 - 我认为我应该以某种方式使用 $location 变量,但不知道如何获取它。

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    您需要将其作为依赖项传递给模块

    define([ 'angular' ], function (angular) {
        return app.controller('yourController', ['$scope','$location', function ($scope, $location) {
            ... do something here ...
            $location.path('/account')
        }]);
    });
    

    【讨论】:

    • 谢谢!它适用于 app.controller 返回应用程序本身的唯一更正。但不幸的是 $location.path('/account') 什么也没做......这是另一个问题,但也许我只是错过了一些微不足道的事情?
    • 您可以查看this SO post 以了解可能的重定向问题。在您的路由器中设置断点,查看您的 URL 是否更新,查找控制台错误等。
    • 可能对任何前来指出您必须做些什么来解决问题的人有用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 2015-05-05
    • 2013-11-29
    相关资源
    最近更新 更多