世界只因有你2017-05-15 17:14:48
在外層的p綁定ng-click,把angular自帶的$event物件傳入。
<p ng-click="changeMode($event);">
<button class="btn btn-primary btn-sm">111</button>
<button class="btn btn-primary btn-sm">222</button>
<button class="btn btn-primary btn-sm">333</button>
<button class="btn btn-primary btn-sm">444</button>
</p>
controller裡面接收$event,在$event裡可以使用target物件判斷點擊的是哪個按鈕
$scope.changeMode = function($event){
$event.target
};
ps:有兩點建議:
1、少年,這個跟事件委託的原理是一樣的,js基礎功不行啊,不要一味地追求什麼新框架,好好補補基礎吧。
2、少年,養成良好的程式設計習慣,按鈕就寫button標籤,不要span。雖然bootstrap在樣式上幫你都處理好了,但這是一個很差的程式設計習慣。
阿神2017-05-15 17:14:48
NG內建mini版本的jq.
如果不用那種方案,你可以把這一對程式碼寫成一個循環。這段冗餘程式碼,你可以看出來對應關係
可以定義一個物件字面量:
$scope.types = {
'primary':'全部时间',
'success':'最近3天',
'info':'最近一周',
'warning':'最近一月',
'danger':'最近半年'
}
<span ng-repeat="(cla,txt) in types" class="btn btn-sm btn-{{cla}}" ng-click="changeMode()">{{txt}}</span>