为什么这段代码在 AngularJS 1.2 中不起作用?
-
20-12-2019 - |
题
我有这个代码,用 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}}"
按照你的指令,它有效:
不隶属于 StackOverflow