有以下代码(Jade):
img(
data-ng-src = "{{ ctrl.getAttachmentPreview(attachment) }}",
data-ng-if = "attachment.media_type == 'image'",
data-image-error = "xxx"
)
我的自定义指令(咖啡):
module.exports = (app) ->
app.directive 'imageError', ->
restrict: 'A',
link: ($scope, el, attrs, ctrl) ->
el.attr('data-ng-if', 'false')
它是原型。我想使用' ng-if'在我的自定义指令中隐藏元素,但此代码不起作用(元素具有' data-ng-if' with' false'值,但仍然可见)。我该如何解决?提前致谢
答案 0 :(得分:0)
ng-if告诉Angular注意$scope
并在$scope
更改它时评估给定的表达式,包括DOM节点,具体取决于结果。
直接操纵它不会做任何事情。
相反,操纵$ scope:
module.exports = (app) ->
app.directive 'imageError', ->
restrict: 'A',
link: ($scope, el, attrs, ctrl) ->
$scope.attachment = media_type: 'image'