所以我对前端(角度,靴子等)完全不熟悉,但我在这里创建了一个JSFiddle链接,而我想要做的就是基本上如果有人选择“VA”中的选项下拉菜单,我想使用适当的ng(开关或显示),并显示具有相同名称的div类,在这种情况下div class =“VA”
如果他们选择NY,我希望它显示div-class =“NY”,而不是VA div(在我的例子中我只有两个选项,但我会在我的实际程序中有不同的选项(可以是~10)
任何人都可以帮助我或让我朝着正确的方向前进吗?感谢。
JSFiddle链接:http://jsfiddle.net/BootstrapOrBust/kw3qgL3f/
<section ng-controller="Ctrl as loc">
<select class="form-control">
<option>Choose Place</option>
<option value="DC">DC</option>
<option value="NY">NY</option>
</select>
</section>
...
...
...
<div class="DC">
<table class="table">
<thead>
<tr>
<th>Location</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="#">Metro</a></td>
</tr>
<tr>
<td><a href="#">Capital</a></td>
</tr>
</tbody>
</table>
</div>
<div class="NY">
<table class="table">
<thead>
<tr>
<th>Location</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="#">Subway</a></td>
</tr>
<tr>
<td><a href="#">Yankees</a></td>
</tr>
</tbody>
</table>
</div>
答案 0 :(得分:5)
http://jsfiddle.net/kw3qgL3f/3/
首先关闭 - 你已经在某个地方ng-app
,所以角度可以启动。
<section ng-app="test" ng-controller="Ctrl as loc">
其次,控制器控制的所有内容都必须位于ng-controller
的元素中,因此我们将</section>
移到其他所有位置。
使用select
时,如果您使用ng-options
而不是自己列出选项,那么您将为自己省去很多麻烦,一个例外是&#34;选择一个&#34 ;选项 - 将其作为占位符:
<select ng-model="showLoc" class="form-control" ng-options="place.abbreviation as place.name for place in places">
<option value="">Choose One</option>
</select>
$scope.places = [
{ abbreviation:'NY', name: 'New York'},
{abbreviation: 'DC', name:'District of Columbia'}
];
您可以这样做:
<div ng-switch="showLoc">
<div ng-switch-when="DC">
...
</div>
<div ng-switch-when="NY">
...
</div>
</div>
但是,我实际上可能会这样做: http://jsfiddle.net/kw3qgL3f/4/
<section ng-app="test" ng-controller="Ctrl as loc">
<select ng-model="selectedPlace" class="form-control" ng-options="place as place.name for place in places">
<option value="">Choose One</option>
</select>
<table ng-if="selectedPlace" class="table">
<thead>
<tr>
<th>Location</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="property in selectedPlace.properties">
<td><a href="#">{{property}}</a></td>
</tr>
</tbody>
</table>
</section>
$scope.places = [
{ abbreviation:'NY', name: 'New York', properties: ['Subway', 'Yankees']},
{abbreviation: 'DC', name:'District of Columbia', properties: ['Metro', 'Captial']}
];
答案 1 :(得分:2)
这是我创建演示的plunker demo
您可以将ng-show
与select