angularjs-directive AngularJS: निर्देशक दायरे में = और @ के बीच मतभेद?
1
Answers
सारांश
- @attr एक मेल खाने वाले DOM विशेषता के मूल्यांकन स्ट्रिंग मान से जुड़ा हुआ है।
- = attr एक मेल खाने वाले डोम विशेषता के दायरे की संपत्ति से जुड़ा हुआ है।
- और एआरआर एक मेल खाने वाले डोम विशेषता के दायरे समारोह से जुड़ा हुआ है।
- @
- =
- और
हम लक्ष्य 4, 5, और 6 का उपयोग करते हैं यदि लक्षित डोम विशेषता का नाम अलग-अलग दायरे प्रोपर्टी नाम से मेल खाता है। निम्नलिखित उदाहरण का एक कामकाजी fiddle है।
एचटीएमएल
<div ng-app='isolate'>
<h3>Outer Scope</h3>
<input type="text" ng-model="myModel" />
<p>msg: {{ msg }}</p>
<h3>Inner Scope</h3>
<div id="inner">
<div my-directive at="{{ myModel }}" equals="myModel" ampersand="msg=msg+'click'"></div>
</div>
</div>
जावास्क्रिप्ट
angular.module('isolate', [])
.directive('myDirective', function () {
return {
template:
'<label>@attr</label><input value="{{ myAt }}" />' +
'<label>@</label><input value="{{ at }}" />' +
'<label>=attr</label><input ng-model="myEquals" />' +
'<label>=</label><input ng-model="equals" />' +
'<label>&attr</label><input type="button" ng-click="myAmpersand()" value="Btn" />' +
'<label>&</label><input type="button" ng-click="ampersand()" value="Btn" />',
scope: {
myAt: '@at',
myEquals: '=equals',
myAmpersand: '&ersand',
at: '@',
equals: '=',
ampersand: '&'
}
};
});
angularjs angularjs-directive angularjs-scope isolated-scope
इस प्रश्न का उत्तर यहां दिया गया है:
निर्देश के अंदर एक अलग दायरा बनाना, हमें आंतरिक दायरे में बाहरी दायरे को मानचित्रित करने देता है। हमने attrbutes को मानचित्र करने के लिए छह अलग-अलग तरीकों को देखा है:
- = attr
- और attr
- @attr
- =
- और
- @
इन स्कोप मैपिंग विकल्पों में से प्रत्येक क्या करता है?
99 votes
angularjs