我想在提交按钮上使用Ladda(按钮上的微调器)。问题是我不知道如何获得按钮元素。
当我在一个简单的按钮上使用它时(键入='按钮'),我只需在ng-click中发送事件并执行以下操作: 玉:
button.btn.btn-primary.btn-xs.ladda-button(type='button', ng-click='accounting($event)', data-style="zoom-in", data-size="xs")
span.ladda-label Accounting
使用Javascript:
$scope.accounting = function(event){
event.preventDefault();
var loader = Ladda.create(event.currentTarget);
loader.start();
};
此处当前目标是按钮,但在表单的情况下,当前目标具有表单和所有输入。问题是如何只针对相应的按钮?
答案 0 :(得分:0)
据我了解,Ladda用于指示按钮上的加载。
我建议您在提交按钮上使用自定义指令。指令是您在AngularJS中操作DOM的地方。您不应该使用accounting
函数。
以下是文档:https://docs.angularjs.org/guide/directive
您可以将指令customladda
作为提交按钮的属性,如下所示:
<input type="submit" customladda data-style="zoom-in" data-size="xs" class="btn btn-primary btn-xs ladda-button">
以翡翠格式:
input.btn.btn-primary.btn-xs.ladda-button(type='submit', customladda='customladda', data-style='zoom-in', data-size='xs')
指令代码:
app.directive('customladda', function(){
return {
restrict: 'A',
link: function(scope, element, attrs){
var button = element[0];
element.on('click', function(){
var loader = Ladda.create(button);
loader.start();
});
}
};
});
以下是plunker: http://plnkr.co/edit/hixBizT13QHzHLsqWH2h?p=preview