我有一个诺基亚地图插件,需要我使用document.createElement(' div')在地图上创建标记。 我想将这个新div绑定到ngClass,是否有可能在Angular中执行此操作?
如果你知道我试图在这里解释的术语,那将是一个很大的帮助,因为我在Vue和React上做了这样的事情没有问题,我只是无法向谷歌解释(或任何人)我想做什么。
答案 0 :(得分:1)
是的,你可以通过以下方式实现这一目标
让我们说你已经创建了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
服务。
希望这有帮助
答案 1 :(得分:0)
将@HostBinding与getter函数一起使用以返回是否应存在一个类。
类似的东西:
@HostBinding("class.newclass") get isInfo() { return this.type === "info" }