我创建了一个使用父范围的directive
。
directive
应该接受一个属性,即
<my-nice-new-directive data-hide-icon="true" />
但我不想孤立范围。是否可以将属性添加到$scope
?
答案 0 :(得分:1)
考虑使用$parse
服务获得乐趣。
.directive('myNiceNewDirective', function () {
return {
restrict: 'AE',
controller: function ($scope, $attrs, $parse) {
var hideIcon = $parse($attrs.hideIcon)($scope);
}
};
})
或者您可以只评估变量data-hide-icon="{{isIconHidden}}"
,在这种情况下您可能想要观看它。
.directive('myNiceNewDirective', function () {
return {
restrict: 'AE',
scope: true, //this is not necessary but could be useful
controller: function ($scope, $attrs) {
$scope.$watch(function () {return $attrs.hideIcon;}, function (newValue, oldValue) {
//react to change...
});
}
};
})