Perché questo codice non funziona in AngularJS 1.2?
-
20-12-2019 - |
Domanda
Ho questo codice, scritto con 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);
}
}
}])
;
.
Scope ha una proprietà title
, ma non è resa.Perché?
Se modifico la Direttiva Config in scope:true
, funzionerà bene: 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);
}
}
}])
;
.
Questo è un bug o una caratteristica in Angular 1.2?La versione precedente funziona bene in tutti questi casi: http://jsfiddle.net/vmkqy/3/ .
Soluzione
Il {{title}}
all'interno del tuo <span />
viene sostituito.Aggiungi template: "{{title}}"
alla tua direttiva e funziona:
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow