如何访问指令范围内的变量?
我有这样的指示:
linkedin://profile/[id]
在HTML中,例如:
angular.module('app').directive('any', function() {
return {
restrict: 'E',
scope: {
attr: '@'
},
controller: function($scope) {
$scope.attr = $scope.attr != undefined;
},
template: 'Result (true/false): {{attr}}'
};
});
但变量<any attr="bla"></any>
仍然是$scope.attr
,不会随着true或false的值而变化。我该怎么办?
答案 0 :(得分:2)
只是不要使用相同的变量来保存与undefined和实际attr
值的比较。
每次angular执行其摘要循环时,它都会重置范围中attr
的新值。
答案 1 :(得分:-1)
在AngularJS中创建隔离范围时,AngularJS提供3种类型的前缀:
您使用的是单向绑定方法。要在HTML中正确使用它,您需要这样做:
<any attr="{{ bla }}"></any>