Angular 指令从元素中删除原始属性
Angular directive removes original attribute from element
当在某些元素上添加指令时(例如img
),如果该指令从它那里获得一些属性作为@Input()
(例如src
),原始属性将被更改使用 ng-reflect-*
(例如 ng-reflect-src
)并且图像将永远不会显示,因为没有 src
属性。
只有当它 src
必须被评估时才会发生,不会发生在固定的 url 上!
这是预期的行为还是错误?有可能让它发挥作用吗? (目前我正在通过使用 src
和 source
并仅将 source
作为指令的输入来解决它。)
示例可以在下面的 plnkr 中看到(应该显示两张图片,但只有一张):https://plnkr.co/edit/5AjZPeyEfd6IOqxQp3kq?p=preview
我认为这是有意为之的行为。
可能的解决方法如下
@HostBinding() @Input() src: string;
当在某些元素上添加指令时(例如img
),如果该指令从它那里获得一些属性作为@Input()
(例如src
),原始属性将被更改使用 ng-reflect-*
(例如 ng-reflect-src
)并且图像将永远不会显示,因为没有 src
属性。
只有当它 src
必须被评估时才会发生,不会发生在固定的 url 上!
这是预期的行为还是错误?有可能让它发挥作用吗? (目前我正在通过使用 src
和 source
并仅将 source
作为指令的输入来解决它。)
示例可以在下面的 plnkr 中看到(应该显示两张图片,但只有一张):https://plnkr.co/edit/5AjZPeyEfd6IOqxQp3kq?p=preview
我认为这是有意为之的行为。
可能的解决方法如下
@HostBinding() @Input() src: string;