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/ .

È stato utile?

Soluzione

Il {{title}} all'interno del tuo <span /> viene sostituito.Aggiungi template: "{{title}}" alla tua direttiva e funziona:

http://jsfiddle.net/vmkqy/5/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top