在我的应用程序中有不同的视图,所以我从用户的下拉列表可以更改视图。我能够查看下拉列表,但我无法通过单击更改视图。这种情况发生在chrome和Opera。
<div class="btn-group btn-group-xs" >
<button type="button" class="btn btn-xs btn-default" data-toggle="dropdown">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td ng-if="(view==1)">View 1</td>
<td ng-if="(view.id==1)">View 2</td>
<td ng-if="(view==1)">View 3</td>
<td class="width10"><span class="fa fa-caret-down"></span><span class="sr-only">Toggle Dropdown</span></td>
</tr>
</table>
</button>
<ul role="menu" class="dropdown-menu">
<li class="dropdown-submenu" ng-click="loadView(1)">
<div class="">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>View 1</td>
</tr>
</table>
</div>
</li>
<li class="dropdown-submenu" ng-click="loadView(2)">
<div class="">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>View 1</td>
</tr>
</table>
</div>
</li>
<li class="dropdown-submenu" ng-click="loadView(3)">
<div class="">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>View 1</td>
</tr>
</table>
</div>
</li>
</ul>
答案 0 :(得分:0)
我不太清楚你的ng-if在做什么,而且没有你的函数代码<rewrite>
<rules>
<clear />
<rule name="Redirect non-www OR non-https to https://www">
<match url=".*" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^domain.com$" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://www.domain.com/prog/{R:0}" redirectType="Permanent"/>
</rule>
</rules>
</rewrite>
。我想,您希望在函数中传递1到3作为参数,而不是使用此数字显示/隐藏您的视图。也许这会有所帮助:
在控制器中声明一个变量:
loadView()
比写这样的函数:
$scope.viewNumber = 1; //Default loading view 1
而不是像这样使用$scope.loadView() = function(viewNr) {
$scope.viewNumber = viewNr;
}
:
ng-if
所以我不确定这是否是您寻找的解决方案,但它也不清楚,您真正想要实现的目标......所以我在下面做的是,声明我传递的视图号的变量单击下拉列表中的<td ng-if="viewNumber == 1">View 1, if viewNumber is 1</td>
<td ng-if="viewNumber == 2">View 2, if viewNumber is 2</td>
<td ng-if="viewNumber == 3">View 3, if viewNumber is 3</td>
元素时,我的函数的参数。我用这个数字改变三个视图,在li
中检查它。我希望这会对你有所帮助。