[英]How to add and remove classes from dynamically created elements in Angular 2+ (no ngClass)?
[英]How to add [ngClass] to dynamically created element in Angular?
我有一个诺基亚地图插件,它需要我使用 document.createElement('div') 在地图上创建标记。 我想将这个新 div 绑定到 ngClass,是否有可能在 Angular 中执行此操作?
如果你知道我在这里试图解释的术语,那将是一个很大的帮助,因为我在 Vue 和 React 上做了这种事情没有问题,我只是无法向谷歌(或任何人解释)问题)我想做什么。
是的,您可以通过以下方式实现这一目标
假设你已经创建了一个div
var div = '<div ng-class="yourClassName">Any text here or whatever</div>';
现在您必须为此元素进行动态编译以将其与controller scope
绑定,例如
var newDiv= $compile(div)($scope);
现在您可以将它们附加到任何DOM
元素。 例如
$('.anyOtherDivClass').append(newDiv)
这将允许所有事件(如ng-click
等)为您动态创建的元素触发。
附言。 不要忘记在控制器中注入$compile
服务。
希望这有帮助
使用带有 getter 函数的 @HostBinding 来返回一个类是否应该存在。
类似的东西:
@HostBinding("class.newclass") get isInfo() { return this.type === "info" }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.