我的应用程序视图中有一个左导航,使用ng-repeat和ng-switch构建。每个链接的动作都与右侧的指令相关联。有一段时间,当用户点击当前指令的下拉项并且页面长时间扩展时,特定指令将包含其他指令,因此如果用户想要进入原始状态,那么他可以点击左边的导航项nav将页面刷新到指令的初始状态。但是当用户第二次点击左侧导航栏时左侧导航栏已经被选中时,它就不会被触发。我希望这样可以获得RHS的初始页面。
我的高级代码如下
about.html
public partial class BaseForm : Form
{
public BaseForm()
{
InitializeComponent();
}
[Browsable(true)]
[Category("Base Form")]
[Description("Define the window title.")]
public String WindowTitle
{
get { return label1.Text; }
set { label1.Text = value; }
}
}
aboutController.js
<div class="leftNav">
<ul class="nav myNav">
<li class="presentation" ng-repeat="link in links" ng-class="{link-active:currentLink=link.value==param}">
<a ng-href="#/home/{{link.value}}" ng-click="fetchLink(param)">{{link.title}}</a>
</li>
</ul>
</div>
<div ng-switch="fetchLink()">
<div ng-switch-when="About Us">
<div about-us></div>
</div>
<div ng-switch-when="Board Directors">
<div board-directors></div>
</div>
<div ng-switch-when="Our Impacts">
<div our-impacts></div>
</div>
</div>
在 app.js
的路由器代码上 $scope.links = [{ title="About Us", value="about"},
{ title="Board Directors",value="board"},
{ title="Our Impacts", value="impact"} ];
var myParam =$root.current.params;
$scope.param = myParam.sec;
//sec has been configured in the route and get
// the values from user's input
$scope.fetchLink() = function() {
var retVal='';
var retVals = $.grep($scope.links, function(item,ind){
return item.value=$scope.param
});
if(retVals.length>0){
retVal = retVals[0].title;
}
return retVal;
};
};
}
当我第二次点击时,没有触发任何内容,也没有触发fetchLink()方法。