簡體   English   中英

使用Angularjs保存時更改按鈕上的文本

[英]changing text on button while saving using Angularjs

如何在表單中保存數據時更改提交按鈕上的文本?

我有一個像這樣的按鈕

<button ng-click="save()">Save data</button>

並根據以下答案更新了我的保存功能:

    $scope.ButtonText = "Save day";
    $scope.save=function(){
        $scope.ButtonText = "Saving day";
        for(var i=0;i<days.length;i++)
        {
           MyService.saveday()
            .success(function(data, status, headers, config) {
            })
            .error(function(data, status, headers, config) {
            });
        }
       $scope.ButtonText = "Save day";
    };

保存數據時,我想在保存數據時將文本從“保存數據”更改為“保存數據”並返回“保存數據”。

UPDATE

我補充道

 $scope.ButtonText = "Save day"; 

基於下面的答案,但意識到我的需求更復雜,因為我多次調用異步服務。 所以我想問題是如何在異步調用服務時設置文本,並且只將其恢復為原始文本,畢竟對服務的調用已經完成執行。

謝謝

托馬斯

您可以在范圍中公開按鈕文本,然后在保存時更新范圍值:

<button ng-click="save()">{{button}}</button>

在你的功能:

$scope.button = "Save data";

$scope.save=function(){
    $scope.button = "Saving day";
    for(var i=0;i<days.length;i++)
    {
       MyService.saveday()
        .success(function(data, status, headers, config) {
        })
        .error(function(data, status, headers, config) {
        }).then(function() {
            if (i===days.length) { // is the last iteration
                $scope.button = "Save day";
            }
        });
    }

};

至少有幾種方法。

其中一種方法是在作用域上創建另一個屬性,該屬性將保存按鈕的文本。

$scope.buttonText = 'Save';
$scope.save = function() {
    $scope.buttonText = 'Saving...';
};

然后在HTML中硬編碼按鈕文本而不是將其綁定到新的范圍屬性。

<button ng-click="save()">{{buttonText}}</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM