Warum funktioniert dieser Code in AngularJS 1.2 nicht?
-
20-12-2019 - |
Frage
Ich habe diesen Code, geschrieben mit Angular 1.2: http://jsfiddle.net/VmkQy/1/
<div ng-app="app">
Title is: <span my-directive data-title="Test title">{{ title }}</span>
</div>
angular.module('app', [])
.directive('myDirective', [function() {
return {
restrict: 'A',
scope: {title:'@'},
link: function($scope) {
alert($scope.title);
}
}
}])
;
Umfang hat eine title
Eigentum, aber es wird nicht gerendert.Warum?
Wenn ich die Direktivenkonfiguration in ändere scope:true
, es wird gut funktionieren: http://jsfiddle.net/VmkQy/2/
angular.module('app', [])
.directive('myDirective', [function() {
return {
restrict: 'A',
scope: true,
link: function($scope, $element, attrs) {
$scope.title = attrs.title;
alert($scope.title);
}
}
}])
;
Dies ist ein Fehler oder eine Funktion in Angular 1.2?Die ältere Version funktioniert in all diesen Fällen einwandfrei: http://jsfiddle.net/VmkQy/3/
Lösung
Der {{title}}
in deinem Inneren <span />
wird ersetzt.Hinzufügen template: "{{title}}"
zu Ihrer Direktive und es funktioniert:
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow