angularjs-directive AngularJS: निर्देशक दायरे में = और @ के बीच मतभेद?




1 Answers

सारांश

  1. @attr एक मेल खाने वाले DOM विशेषता के मूल्यांकन स्ट्रिंग मान से जुड़ा हुआ है।
  2. = attr एक मेल खाने वाले डोम विशेषता के दायरे की संपत्ति से जुड़ा हुआ है।
  3. और एआरआर एक मेल खाने वाले डोम विशेषता के दायरे समारोह से जुड़ा हुआ है।
  4. @
  5. =
  6. और

हम लक्ष्य 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: '&ampersand',
            at: '@',
            equals: '=',
            ampersand: '&'
        }
    };
});
angularjs angularjs-directive angularjs-scope isolated-scope

इस प्रश्न का उत्तर यहां दिया गया है:

निर्देश के अंदर एक अलग दायरा बनाना, हमें आंतरिक दायरे में बाहरी दायरे को मानचित्रित करने देता है। हमने attrbutes को मानचित्र करने के लिए छह अलग-अलग तरीकों को देखा है:

  1. = attr
  2. और attr
  3. @attr
  4. =
  5. और
  6. @

इन स्कोप मैपिंग विकल्पों में से प्रत्येक क्या करता है?




Related