12 angularjs angularjs-ng-click ionic-framework
我需要在Ionic Framework中传递按钮ID.
这是我尝试过的.
在js代码中:
angular.module('todo', ['ionic'])
.controller('TodoCtrl', function($scope) {
{
$scope.showAlert = function(btnId) {
alert(btnId);
};
}
});
Run Code Online (Sandbox Code Playgroud)
在html中:
<button id="a" class="button button-light" data="{{button.id}}" ng-click="showAlert(data.id)">
Click Me
</button>
Run Code Online (Sandbox Code Playgroud)
O/P: undefined
要么
<button id="a" class="button button-light" data="{{button.id}}" ng-click="showAlert(data)">
Click Me
</button>
Run Code Online (Sandbox Code Playgroud)
O/P: undefined
要么
<button id="a" class="button button-light" data="{{event.id}}" ng-click="showAlert(data.id)">
Click Me
</button>
Run Code Online (Sandbox Code Playgroud)
O/P: undefined
要么
<button id="a" class="button button-light" ng-click="showAlert(this.id)">
Click Me
</button>
Run Code Online (Sandbox Code Playgroud)
O/P: undefined
要么
<button id="btnId" class="button button-light" ng-click="showAlert('btnId')">
Click Me
</button>
Run Code Online (Sandbox Code Playgroud)
O/P: btnId
这是在函数中直接写入按钮id的正确方法吗?
我提到了几个像这样的答案.所以我认为我在使用它时犯了一些错误.请让我知道我需要改变什么.
Nik*_*hev 41
哟,看看这个要点:
https://gist.github.com/lc-nyovchev/ed0a640a82a0f2dfd5a1
这是一种非常简单和天真的方式.
<div data-ng-init="btnId='asd';">
<button data-ng-attr-id="btnId" class="button button-light" data-ng-click="showAlert(btnId)">
Click Me
</button>
</div>
Run Code Online (Sandbox Code Playgroud)
或者你可以在你的控制器中:
$scope.btnId = 'asd';
Run Code Online (Sandbox Code Playgroud)
然后你不需要ng-init块div.
或者您可以在ng-click中获取$ event的句柄,并获取其目标,然后获取其id,但我不建议这样做,这不是有用的方式:
<button id="bla" class="button button-light" data-ng-click="showAlert($event)">
Click Me
</button>
$scope.showAlert = function(event){
alert(event.target.id);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72723 次 |
| 最近记录: |