使用角度ng视图超出最大调用堆栈大小

时间:2015-04-29 07:19:34

标签: angularjs

我想在登录到/ dashboard后重定向

        $scope.submit = function (user) {
        if ($scope.loginForm.$valid) {
            UserService.login(user).then(
                function (result) {
                    $location.path('/dashboard');
                }, function (reason) {
                    $scope.msg = "username or password is not correct";
                });
            $scope.reset();
        }
    };
在app.js中的

我想动态创建我的菜单并显示dashboard.html

        $routeProvider
        .when('/dashboard', {
            templateUrl: 'views/dashboard.html',
            abstract:true,
            resolve: {
                menu: function (MenuService) {
                    return MenuService.getMenu();
                }
            },
            controller: function ($scope, menu) {
                $scope.menu = menu;
                $scope.oneAtATime = true;
            }
        })

在仪表板中我使用ng-view加载我的模板

<div class="content">
<div class="container">
    <ng-view></ng-view>
</div>

但它抓住了#34;超出最大调用堆栈大小&#34;错误。

enter image description here

MenuService服务返回承诺

factory('MenuService', function ($q, $http) {
var getMenu = function () {
    var deferred = $q.defer();
    $http.post('/menu', 1).
        success(function (data) {
            deferred.resolve(data);
        }).
        error(function (data, status) {
            deferred.reject(status);
        });
    return deferred.promise;
};

return{
    getMenu: getMenu
}

})

我将MenuService.getMenu()更改为:

        $routeProvider
        .when('/dashboard', {
            templateUrl: 'views/dashboard.html',
            abstract:true,
            resolve: {
                menu: function (MenuService) {
                    MenuService.getMenu().then(function(result){
                        return result;
                    });
                }
            },
            controller: function ($scope, menu) {
                $scope.menu = menu;
                $scope.oneAtATime = true;
            }
        })

现在已加载仪表板,但没有菜单。然后在dashboard.html加载后调用方法!!!!

当我删除ng-view时,每件事情都完美无缺。

我的问题是什么? 谢谢

0 个答案:

没有答案