javascript - erstellen - tooltip js example




Der Wert des isolierten Bereichs ändert sich beim Klicken nicht (2)

Ich habe ein einfaches Beispiel, in dem ich das Wort "Peter" durch Richtlinien-Templating zeigen möchte. Wenn eine Person auf div klickt, ändert sich der Name in "Julia". Ich finde jedoch keinen Fehler und nichts sichtbar auf dem Bildschirm.

<html>
<head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.8/angular.min.js" ></script> 
</head>
<body ng-app="myApp" ng-controller="myCtrl"> 
    <people name="peter"></people>
    <people name="peter"></people>
    <script>
        //app declaration
        var app = angular.module('myApp', []);
        //controller declaration
        app.controller('myCtrl', function($scope) {
          //code goes here ... 
        });
        //directive declaration
        app.directive('people', function() {
          return {
            restrict: 'E',
            scope: {name:'='},
            template: '<div ng-click="name = \'Juliet\'">{{name}}</div>',
          }
        });
    </script> 
</body> 
</html>

Da Peter eine Variable ist, wenn Sie den Geltungsbereich mit "=" verwenden , müssen Sie einige Werte für diese Variable in Ihrem Controller festlegen

app.controller('myCtrl', function($scope) {
  //code goes here ... 
  $scope.peter = 'John';
});

Dann wirst du etwas sehen. Peter Variable hatte keinen Wert, deshalb hat man nichts gesehen und konnte nicht darauf klicken, um zu 'Julia' zu wechseln


Dies geschieht, weil angular "peter" als Ausdruck auswertet, dh einen Variablennamen, den er nicht auflösen kann. Wenn Sie eine Zeichenfolge übergeben möchten, legen Sie sie einfach um





angularjs-scope