Вопрос

У меня есть этот код, написанный с помощью 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);   
            }
        }
    }])
;

Область применения имеет title собственность, но она не предоставляется.Почему?

Если я изменю конфигурацию директивы на scope:true, он будет работать нормально: 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);   
            }
        }
    }])
;

Это ошибка или функция Angular 1.2?Старая версия работает нормально во всех этих случаях: http://jsfiddle.net/VmkQy/3/

Это было полезно?

Решение

А {{title}} внутри твоего <span /> заменяется.Добавлять template: "{{title}}" к вашей директиве, и это работает:

http://jsfiddle.net/VmkQy/5/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top