我有这个代码,用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具有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/
答案 0 :(得分:2)
{{title}}
内的<span />
被替换。将template: "{{title}}"
添加到您的指令中它可以正常工作: