कोणीय अभिव्यक्ति कंसोल से भिन्न हल - जावास्क्रिप्ट, एचटीएमएल, कोणीय, अभिव्यक्ति

मेरे पास एक अभिव्यक्ति है जो कि "s {{भाव}} की तुलना में जावास्क्रिप्ट में अलग-अलग चलती है। क्या कोई मुझे बता सकता है कि क्यों?

अभिव्यक्ति:

(parseInt("12px")*2).toString()+"px"

जावास्क्रिप्ट में मूल्यांकन, यह करने के लिए हल करता है 24px। एक कोणीय अभिव्यक्ति में, यह "है NaNpx

jsfiddle

उत्तर:

उत्तर № 1 के लिए 1

{{}} कोणीय को बताएं कि आपके विचार में, आपके पास प्रक्षेप करने के लिए एक अभिव्यक्ति है। कोणीय भाव जावास्क्रिप्ट के सभी का समर्थन नहीं करते हैं। प्रलेखन जाँच के लिए यहाँ

यदि आपको जावास्क्रिप्ट की आवश्यकता है। नियंत्रक फ़ंक्शन में तर्क को लपेटना बेहतर है।

डॉक्स से उद्धरण:

यह कोणीय दृष्टि से सोचने के लिए लुभावना हो सकता हैके रूप में अभिव्यक्ति जावास्क्रिप्ट भाव, लेकिन यह पूरी तरह से सही नहीं है, क्योंकि कोणीय भावों का मूल्यांकन करने के लिए एक जावास्क्रिप्ट eval () का उपयोग नहीं करता है। आप जावास्क्रिप्ट भावों के साथ कोणीय भावों के बारे में सोच सकते हैं निम्नलिखित अंतर:

गुण का मूल्यांकन: सभी गुणों का मूल्यांकन इसके विरुद्ध है मूल्यांकन कर रहा है, जहां जावास्क्रिप्ट अभिव्यक्ति के विपरीत है वैश्विक खिड़की के खिलाफ मूल्यांकन किया जाता है।

क्षमा करना: अभिव्यक्ति का मूल्यांकन अपरिभाषित और अशक्त है, जावास्क्रिप्ट के विपरीत, जहां अपरिभाषित गुणों का मूल्यांकन करने की कोशिश की जा रही है ReferenceError या TypeError उत्पन्न कर सकते हैं।

कोई नियंत्रण प्रवाह विवरण नहीं: आप निम्न में से कोई भी नहीं कर सकते कोणीय अभिव्यक्ति: सशर्त, छोरों, या फेंक।


जवाब के लिए 0 № 2

यह इसलिए है क्योंकि आप अल्फा वर्णों के साथ पूर्णांक के लिए एक तार को पार्स करने की कोशिश कर रहे हैं, मुझे लगता है कि जावास्क्रिप्ट आपके लिए वर्णों को हटा देता है, जबकि कोणीय इसे शाब्दिक रखता है।

(parseInt("12")*2).toString() + "px";

सही कोणीय वाक्यविन्यास होगा।


जवाब के लिए 0 № 3

रखना parseInt पर काम $scope और यह काम करता है।

myApp.controller("MyCtrl", function($scope) {
$scope.parseInt = parseInt;
$scope.foo = function() {
return (parseInt("12px") * 2).toString() + "px";
}
});

कोणीय अभिव्यक्तियों के साथ, कार्यों से प्राप्त किया जाता है $scope वैश्विक नाम स्थान के बजाय।

डॉक्स से:

  • प्रसंग: वैश्विक विंडो के खिलाफ जावास्क्रिप्ट अभिव्यक्तियों का मूल्यांकन किया जाता है। कोणीय में, भाव का मूल्यांकन एक स्कोप ऑब्जेक्ट के विरुद्ध किया जाता है।

- AngularJS डेवलपर गाइड - अभिव्यक्तियाँ

The JSFiddle पर डेमो


संबंधित सवाल
सबसे लोकप्रिय