使用Angularjs加载文本的Bootstrap按钮

fly*_*123 4 jquery twitter-bootstrap angularjs

在使用bootstrap和jquery的非角度应用程序中,我可以创建如下按钮:

<button id="saveButton" data-loading-text="Please wait...">Save</button>
Run Code Online (Sandbox Code Playgroud)

然后,当单击该按钮时,我可以将其设置为它的加载状态,如下所示:

$('#saveButton').button('loading');
Run Code Online (Sandbox Code Playgroud)

单击此按钮也会触发ajax请求,在该请求的回调中,我可以重置按钮,如下所示:

$('#saveButton').button('reset');
Run Code Online (Sandbox Code Playgroud)

如何在角度应用程序中完成相同的行为?该应用程序还包括Jquery和Bootstrap.

Bre*_*rne 12

使用的优点data-loading-text是使HTML不受控制器的影响.相反,在交换控制器功能的文字,使用ng-showng-hide按钮内:

<button>
    <span ng-hide="saving">Save</span>
    <span ng-show="saving">Please wait...</span>
</button>
Run Code Online (Sandbox Code Playgroud)

在控制器中,设置$scope.saving为true或false.

$scope.saving = false;
$scope.save = function() {
    $scope.saving = true;
    // Do your saving here
    $scope.saving = false;
}
Run Code Online (Sandbox Code Playgroud)

如果要在加载时禁用该按钮,请使用ng-disabled.要使用旋转的FontAwesome图标,请将替换<span><i>标记,如下所示:

 <button ng-disabled="saving">
    <span ng-hide="loading">Save</span>
    <i class="fa fa-spinner fa-spin" ng-show="saving"></i>
</button>
Run Code Online (Sandbox Code Playgroud)