¿Por qué este código no funciona en AngularJS 1.2?
-
20-12-2019 - |
Pregunta
Tengo este código, escrito 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);
}
}
}])
;
El alcance tiene un title
propiedad, pero no se presta.¿Por qué?
Si cambio la configuración de la directiva a scope:true
, funcionará bien: 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);
}
}
}])
;
¿Esto es un error o característica en Angular 1.2?La versión anterior funciona bien en todos estos casos: http://jsfiddle.net/VmkQy/3/
Solución
El {{title}}
dentro de tu <span />
es reemplazado.Agregar template: "{{title}}"
a su directiva y funciona:
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow