我指的是这个项目,它的工作正常但我的问题是,我的链接不在索引页面中。 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'
});
现在我的索引页面中的标签页面无效。
答案 0 :(得分:0)
创建一个使用$ location将其设置为&#34; / users&#34;的功能,而不是指定&#34; href =&#39;#/ users&#39;&#34;并拨打ng-click =&#34;重定向(&#39; / users&#39;)。它将处理路由,并将阻止整个页面重新加载,只是ng-view。如果这不能解决您的问题,请告诉我。
答案 1 :(得分:0)
谢谢你们,但我已经解决了这个问题,我刚刚在$ routeProvider中删除了我的控制器。无论如何,谢谢你:))