2013-12-17 6 views
16

का उपयोग करके सहेजते समय बटन पर टेक्स्ट बदलना एक फॉर्म में डेटा सहेजते समय मैं सबमिट-बटन पर टेक्स्ट कैसे बदलूं?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"; 
    }; 

डेटा की बचत करते हैं, मैं "से पाठ को बदलना चाहते हैं डेटा सहेजने पर डेटा को "सेव" डेटा सेव करें और वापस "डेटा सहेजें" पर सहेजें।

अद्यतन

मैं नीचे उत्तरों के आधार

$scope.ButtonText = "Save day"; 

जोड़ा है, लेकिन महसूस किया कि मेरे जरूरत है, अधिक जटिल हैं के बाद से मैं एक अतुल्यकालिक सेवा कई बार बोल रहा हूँ। तो मुझे लगता है कि सवाल यह है कि सेवा को सभी कॉल करने के बाद सेवा को समाप्त करने के बाद सेवा को अतुल्यकालिक रूप से कॉल किया जा रहा है और इसे केवल मूल पाठ पर वापस लाया जा सकता है।

धन्यवाद

थॉमस

उत्तर

29

आप दायरे में बटन पाठ का पर्दाफाश कर सकते हैं, और फिर, जबकि बचत गुंजाइश मान अपडेट:

$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"; 
      } 
     }); 
    } 

}; 
:

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

और अपने समारोह में

+0

धन्यवाद। यह काम करता था लेकिन मुझे एहसास हुआ कि मेरी ज़रूरतें थोड़ी अधिक जटिल थीं। मैंने इस – ThomasD

+0

को प्रतिबिंबित करने के लिए प्रश्न को अद्यतन किया है, इसके बाद मैंने अपना वादा अपडेट किया है, इसके साथ एक वादा का उपयोग करके (आपकी सेवा का मानना ​​है कि एक http सेवा उपनाम है), जहां अंतिम पुनरावृत्ति पर '$ scope.ButtonText' को मूल में अपडेट किया गया है "दिन बचाएं "। –

5

कम से कम कुछ तरीके हैं।

एक तरीका एक दायरे पर एक और संपत्ति बनाना है, जिसमें बटन का टेक्स्ट होगा।

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

फिर HTML में हार्डकोडिंग बटन टेक्स्ट की बजाय इसे एक नई स्कोप संपत्ति से बांधें।

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

धन्यवाद। यह काम करता था लेकिन मुझे एहसास हुआ कि मेरी ज़रूरतें थोड़ी अधिक जटिल थीं। मैंने इसे प्रतिबिंबित करने के लिए प्रश्न अपडेट किया है – ThomasD