我的链接不在索引页面时ngRoute中的错误

时间:2016-01-26 07:30:10

标签: angularjs ngroute

我指的是这个项目,它的工作正常但我的问题是,我的链接不在索引页面中。 https://github.com/facultymatt/angular-unsavedChanges

索引页面有两个链接:设置&帐户 这是我的index.html:

<div class="row" ng-controller="navCtrl">
    <div class="settingNav b col-md-2 col-md-offset-1 col-xs-4">
        <a href="#/" ng-class="{a_h:isActive('/')}">Setting</a>
    </div>
    <div class="settingNav col-md-2 col-xs-4">
        <a href="#/account" ng-class="{a_h:isActive('/account')}">Account</a>
    </div>
</div>

我的脚本在索引页面中:

var settingTab = angular.module('settingTab', ['ngRoute']);
             // configure our routes
            settingTab.config(function($routeProvider) {
                $routeProvider
                    // route for the account page
                    .when('/account', {
                        templateUrl : 'setting/angularjs/views/account.html',
                        controller: 'settingNavCtrl'
                    })
                // route for the setting page
                    .when('/', {
                        templateUrl : 'setting/angularjs/views/setting.html',
                        controller: 'settingNavCtrl'
                    })
});

我的控制器:

    //for active nav
        settingTab.controller('settingNavCtrl', function($scope) {});
        settingTab.controller('navCtrl', function($scope, $location) {
            $scope.isActive = function(route) {
                return route === $location.path();
            }
        });

它工作正常,但我需要在我的帐户下的链接中再次使用ngRoute,所以我的帐户中有2个链接,admin&amp;用户。 当我按照href =&#34;#/ user&#34;在user.html&amp;添加.when(&#39; / user&#39;,{....在索引页面脚本中,我收到错误。为什么它不能在索引页面之外工作?请帮助我。

这是我的account.html

        <div class=" accountNav col-sm-2 col-sm-offset-4 col-xs-6" ng-click="myData.swapHere()" >
            <a   class="thumbnail setting_subcatalog_icon"  id="/user" href="#/user">
                <img class="img-responsive accountNavIcon1" ng-src="{{myData.images.current}}"  alt="">
                <p class="subcatalog_name">User<br>Settings</p> <!--  class="subcatalog_name_h" when hover    -->                 
            </a>         
        </div>

        <div class=" accountNav col-sm-2 col-xs-6" ng-click="myData1.swapHere()" ng-init="imgsrc1='setting/image/subcatalog_account_2.png'" ng-mouseover="imgsrc1='setting/image/subcatalog_account_2_h.png'" ng-mouseout="imgsrc1='setting/image/subcatalog_account_2.png'" >
            <a class="thumbnail setting_subcatalog_icon"  id="admin" href="/admin" ><!--ng-click="adminSetting1()"-->
                <img class="img-responsive accountNavIcon2" ng-src="{{myData1.images.current}}" alt="" >
                <p class="subcatalog_name">Administrator<br>Settings</p>                       
            </a>             
        </div>

我将用户和管理员添加到我的脚本中:

.when('/user', {
        templateUrl : 'setting/angularjs/views/account_sub/userSetting.html',
        controller: 'acctCtrl'
        });
.when('/admin', {
        templateUrl : 'setting/angularjs/views/account_sub/adminSetting.html',
        controller: 'acctCtrl'
        });

现在我的索引页面中的标签页面无效。

2 个答案:

答案 0 :(得分:0)

创建一个使用$ location将其设置为&#34; / users&#34;的功能,而不是指定&#34; href =&#39;#/ users&#39;&#34;并拨打ng-click =&#34;重定向(&#39; / users&#39;)。它将处理路由,并将阻止整个页面重新加载,只是ng-view。如果这不能解决您的问题,请告诉我。

答案 1 :(得分:0)

谢谢你们,但我已经解决了这个问题,我刚刚在$ routeProvider中删除了我的控制器。无论如何,谢谢你:))