angularjs - 不要访问我的$ scope值

时间:2015-04-21 13:19:56

标签: angularjs

我想使用angular-ui来创建动态菜单 在我的LoginCtrl中。我调用服务从服务器获取菜单以在仪表板中显示。 这是我的代码:

在LoginCtrl控制器中

    UserService.getMenu().then(
    function (result) {
        $scope.menu = result;
        $location.path('/dashboard');

    }, function (status) {
        $scope.msg = "error " + status + " has been occur,please report to admin ";
    }
);
在dashboard.html中

<div ng-controller="LoginCtrl">
  <label class="checkbox">
    <input type="checkbox" ng-model="oneAtATime">Open only one at a time
  </label>

  <accordion close-others="oneAtATime">
    <!--nashta-->
    <accordion-group heading="{{project.name}}" ng-repeat="project in menu.projectName">

      <accordion close-others="oneAtATime">
        <!--bank-->
        <accordion-group heading="{{bank.name}}" ng-repeat="bank in menu.bankingList">

          <accordion close-others="oneAtATime">
            <!--working pack-->
            <accordion-group heading="{{wp.name}}" ng-repeat="wp in menu.workingPackList">

              <accordion close-others="oneAtATime">
                <!--product pack-->
                <accordion-group heading="{{pr.name}}" ng-repeat="pr in menu.productList">
                </accordion-group>
              </accordion>

            </accordion-group>
          </accordion>

        </accordion-group>
      </accordion>

    </accordion-group>
  </accordion>
</div>

但我不知道为什么它不起作用。我的菜单从服务器成功加载但在dashboard.html中我无法访问$ scope.menu。

我正在徘徊,它在另一个html文件中工作 例如,如果我在login.html中复制上面的代码,我可以访问$ scope.menu

enter image description here

但它在仪表板中不起作用!!!

我的登录控制器:

'use strict';

angular.module( 'mabnaaApp')     .controller('LoginCtrl',函数($ scope,$ location,UserService){

    $scope.oneAtATime = true;

    $scope.user = {
        username: '',
        password: ''
    };

    $scope.submit = function (user) {
        if ($scope.loginForm.$valid) {

            UserService.login(user).then(
                function (result) {

                    UserService.getMenu().then(
                        function (result) {
                            $scope.menu = result;
                            $location.path('/dashboard');

                        }, function (status) {
                            $scope.msg = "error " + status + " has been occur,please report to admin ";
                        });

                }, function (reason) {
                    $scope.msg = "username or password is not correct";
                });
            $scope.reset();
        }
    };

    $scope.reset = function () {
        $scope.user = {
            username: '',
            password: ''
        };
    };

    var existy = function (x) {
        return x != '';
    };

    $scope.userExists = function () {
        return  existy($scope.user.username);
    };

    $scope.isLogin = !existy($scope.user.username);
});

0 个答案:

没有答案