Lu *_*mon 6 javascript jquery angularjs angularjs-ng-click angularjs-ng-class
我有一些像切换器一样工作的按钮.如果单击一个,它将变为活动状态并"关闭"其他按钮.我使用jQuery做了这个,但想使用AngularJS.这是我的代码:
HTML
<div class="button-bar">
<a class="button button-energized" id="weak">weak</a>
<a class="button button-energized" id="normal">normal</a>
<a class="button button-energized" id="strong">strong</a>
</div>
Run Code Online (Sandbox Code Playgroud)
JavaScript的
.controller('AppCtrl', function($scope, $stateParams) {
$('#weak').click(function() {
$('#weak').addClass('active');
$('#normal').removeClass('active');
$('#strong').removeClass('active');
});
$('#normal').click(function() {
$('#normal').addClass('active');
$('#weak').removeClass('active');
$('#strong').removeClass('active');
});
$('#strong').click(function() {
$('#strong').addClass('active');
$('#normal').removeClass('active');
$('#weak').removeClass('active');
});
});
Run Code Online (Sandbox Code Playgroud)
Pan*_*kar 20
你可以有ng-click那个可以切换selected标志,可以ng-class用于绑定/解除绑定类.
标记
<div class="button-bar">
<a class="button button-energized" id="weak"
ng-class="{active: $parent.selected=='weak'}" ng-click="$parent.selected='weak'">
weak
</a>
<a class="button button-energized" id="normal"
ng-class="{active: selected=='normal'}" ng-click="selected='normal'">
normal
</a>
<a class="button button-energized" id="strong"
ng-class="{active: selected=='strong'}" ng-click="selected='strong'">
strong
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
更好的方法
你可以通过使用ng-repeat它来轻松地做到这一点,这将减少你的代码行.
标记
$scope.strengths = ["weak","normal","strong"];
Run Code Online (Sandbox Code Playgroud)
码
<div class="button-bar">
<a class="button button-energized" id="{{strength}}"
ng-class="{active: $parent.selected == strength}"
ng-click="$parent.selected=strength"
ng-repeat="strength in strengths">
{{strength}}
</a>
</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
37017 次 |
| 最近记录: |