次のような要素がいくつかあるとしましょう。
<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()');