2015-12-23 8 views
5

मुझे क्रोम (47) में कोई समस्या है, जहां ng-model-options = "{getterSetter: true}" के साथ संयोजन में प्रकार संख्या के इनपुट का उपयोग करते समय आपको क्षेत्र में दशमलव संख्या दर्ज करने की अनुमति नहीं है।गेटर्सेटर के साथ कोणीय 1.4.x संख्यात्मक क्षेत्र दशमलव संख्याओं के लिए काम नहीं कर रहा है

getterSetter साथ

: (काम नहीं कर रहा)

<input ng-model="amount" ng-model-options="{ getterSetter: true }" step="0.01" type="number" > 

getterSetter के बिना: (काम) एक डेमो के लिए

<input ng-model="_amount" step="0.01" type="number"> 

देखने plunker http://plnkr.co/edit/qu8UXCUtkJaFwjgGE1NX?p=preview

+1

काम करता है। (क्रोम 46) –

उत्तर

1

क्या हो रहा है वहाँ है कि जब आप getterSetter फ़ंक्शन घोषित करें, जब भी आप इनपुट के मान को संशोधित करते हैं तो यह फ़ंक्शन हर बार कॉल किया जा रहा है।

तो जब आप "12." लिखते हैं समारोह कहा जा रहा है, लेकिन यह एक मान्य संख्या नहीं है, इसलिए यह "।" वैध मूल्य प्रदान करने के लिए।

"123" टाइप करने का प्रयास करें और फिर "।" काम करता है कि "12.3" जैसी संख्याओं के बीच!

संपादित

मैं अपने कोड तय कर दी है, अब यह काम करता है।

इस प्रयास करें:

$scope.amount = function(newValue) { 
    return arguments.length ? ($scope._amount = newValue) : $scope._amount; 
}; 

यहाँ एक काँटेदार plunkr है: मेरे लिए http://plnkr.co/edit/xZtZLH5He4ZnjkqhFApY?p=preview

+0

जैसा कि आप कंसोल में देख सकते हैं यह नहीं हो रहा है। जब आप दबाते हैं। गेटर को निकाल दिया जाता है लेकिन यह कभी भी सेटटर को नहीं निकालता है। प्रदान किया गया उत्तर भी एक वैध कामकाज नहीं है। – user3589296

+0

मैं इसके साथ काम नहीं कर रहा था, मैं आपको दिखा रहा था कि यह कैसे काम करता है, यह समझने के लिए सिर्फ एक उदाहरण है कि ऐसा क्यों हो रहा था। और जैसा कि मैंने आपको पहले ही बताया है, कंसोल में अपरिभाषित किया जा रहा है क्योंकि "12." का मतलब कुछ नहीं –

+1

संपादित उत्तर पर एक नज़र डालें। आशा करता हूँ की ये काम करेगा! –

संबंधित मुद्दे