当我从指定页面加载当前页面时,我想将其更改为ng-init = "tab=1"
: http: //191armyband.com/career.html。这可以通过使用 jQuery 的条件函数来实现吗?
我已经使用 document.referrer 来获取之前的 url。这是我的小提琴:ng-init = "tab=2"
问问题
501 次
2 回答
1
这是 javascript 代码,我使用并使用了 ng-controller 而不是 ng-init 来让它工作:
// declare a module
var contactModule = angular.module('contactModule', []);
contactModule.controller('panelCtrl',function(){
var prevUrl = document.referrer; //set prevUrl equal to the previous url that loads current page
if(prevUrl === "http://191armyband.com/career.html"){ //test if previous url was career.html
this.tab =2; //If previous url that loads this page is career.html then ng-init = tab 2
} else{
this.tab =1; //If previous url that loads this page is NOT career.html then ng-init = tab 1
};
this.selectTab = function(passInTab){
this.tab = passInTab; //SET this.tab value equal to whichTab where html can PASS IN a passInTab value
};
this.isSet = function(chosenTab){
return this.tab === chosenTab; //return this.tab value when this.tab value equal to chosenTab
};
});
这是HTML
<body>
<div data-role="page">
<div class="navigatorTab">
<ul id="mainUl" class="nav nav-tabs">
<li ng-class="{active:panel.isSet(1)}"><a href ng-click="panel.selectTab(1)">General Inquery</a></li>
<li ng-class="{active:panel.isSet(2)}"><a href ng-click="panel.selectTab(2)">Request For Audition</a></li>
<li ng-class="{active:panel.isSet(3)}"><a href ng-click="panel.selectTab(3)">Request The Band</a></li>
</ul>
</div>
<div id="generalInquery" ng-show="panel.isSet(1)">
<h3 class="contactHeader">Contact Us:</h3>
</div>
<div id="Audition" ng-show="panel.isSet(2)">
<h3 class="contactHeader">Request for Audition:</h3>
</div>
<div id="requestBand" ng-show="panel.isSet(3)">
<h3 class="contactHeader">Request The Band:</h3>
</div>
</div>
</div></body>
</html>
于 2015-08-24T07:48:03.117 回答
0
你的问题不会得到很好的答案,因为你的方法都是错误的。
您应该坚持使用已注释掉的控制器,而不是使用 jquery onready 的东西。然后在您的控制器中,根据您的逻辑将“tab”属性设置为您想要的。
阅读 Angular 应用程序的基础知识并尝试从中学习,而不是使用 jquery 来破解你的前进道路
于 2015-08-23T23:10:43.890 回答