2017-01-08 6 views
0

In der Direktive, warum wir $ Scope nicht als Präfix hinzufügen in customer.name kann funktionieren? Ich ändere zu $scope.customer.name, kann es nicht funktionieren? Warum? Es wird angenommen, $ scope zu haben, richtig? Link (https://plnkr.co/edit/e4N2u1iuXbp7IESxNd1T?p=preview)

angular.module('docsSimpleDirective', []) 
.controller('Controller', ['$scope', function($scope) { 
    $scope.customer = { 
    name: 'Naomi', 
    address: '1600 Amphitheatre' 
    }; 
}]) 
.directive('myCustomer', function() { 
    return { 
    template: 'Name: {{customer.name}} Address: {{customer.address}}' 
    }; 
}); 

Antwort

0

Was auch immer Sie zu template zuweisen entspricht einer HTML-Seite mit dem Körper hält den Inhalt zugewiesen hat. Verwechseln Sie es nicht mit dem Code innerhalb des eckigen js-Controllers. Es ist eher eine HTML-Antwort in Form eines Strings, und wir verwenden $scope nicht innerhalb eines HTML-Dokuments.

+0

Ich habe. Können Sie mir ein Referenzdokument schicken? Danke – AngularJS

+0

@AngularJS Die Bedeutung der Vorlage ist im gesamten Web einheitlich, unabhängig davon, in welcher Sprache Sie Code schreiben. Ich schlage vor, Sie sollten lesen, was eine Vorlage ist. Allerdings [hier] (https://www.3pillarglobal.com/insights/angularjs-understanding-custom-directive) liegt die Bedeutung der Vorlage in klaren Worten. –

Verwandte Themen