假设我有几个这样的元素:
<note ng-show="hasText()">
{{text}}
</note>
我有这样的指令:
directive('note', function() {
return {
restrict: 'E',
controller: 'NoteCtrl'
}
})
像这样的控制器:
function NoteCtrl($scope, $element) {
$scope.text = "Hello, world!";
$scope.hasText = function() {
return $scope.text.length > 0;
}
}
这将做的是如果它有文本则显示注释,否则隐藏它。
我想知道的是,有没有办法ng-show
从 HTML 中删除,并从控制器中动态添加它?
例如,您可以尝试将其设为 中的第一行NoteCtrl
,但它不起作用:
$($element).attr('ng-show', 'hasText()');