当前一个 url 不同时更改 ng-init 值
change ng-init value when previous url is different
我想在从指定页面加载当前页面时将 ng-init = "tab=1"
更改为 ng-init = "tab=2"
:http://191armyband.com/career.html。这可以通过使用 jQuery?
的条件函数来实现吗
我已经使用 document.referrer 得到了之前的 url。这是我的 fiddle:
你的问题不会得到好的答案,因为你的方法全错了。
你应该坚持使用你已经注释掉的控制器,而不是使用 jquery onready 的东西。然后在你的控制器中根据你的逻辑将 "tab" 属性 设置为你想要的。
去阅读 angular 应用程序的基础知识,并尝试从中学习而不是用 jquery
来破解你的前进道路
这是 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>
我想在从指定页面加载当前页面时将 ng-init = "tab=1"
更改为 ng-init = "tab=2"
:http://191armyband.com/career.html。这可以通过使用 jQuery?
的条件函数来实现吗
我已经使用 document.referrer 得到了之前的 url。这是我的 fiddle:
你的问题不会得到好的答案,因为你的方法全错了。
你应该坚持使用你已经注释掉的控制器,而不是使用 jquery onready 的东西。然后在你的控制器中根据你的逻辑将 "tab" 属性 设置为你想要的。
去阅读 angular 应用程序的基础知识,并尝试从中学习而不是用 jquery
来破解你的前进道路这是 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>