所有
当涉及指令时,我对angularjs的理解是当你有一个像这样的隔离范围设置时:
scope: {
dataSource: '='
}
链接功能内部:function(scope, ele, attr)
scope
会有一个dataSource
属性,如果像这样使用,它会绑定到我的控制器上的name
:
<my-element data-source='name'></my-element>
然而事实并非如此,这是一个例子:
http://jsfiddle.net/HB7LU/21879/
由于
史蒂夫
答案 0 :(得分:5)
将范围属性dataSource
的名称更改为source
。因为data
是保留名称。
var myApp = angular.module('myApp', []);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
myApp.controller('MyCtrl', function($scope) {
$scope.name = 'Batman';
})
.directive('myElement', function() {
return {
template: '<div>Hello {{source}}</div>',
replace: true,
restrict: 'E',
scope: {
source: '='
},
link: function(scope, ele, attr) {
console.log(scope.source);
}
}
})