调用$(document).foundation();在基金会多次

时间:2017-05-11 13:01:57

标签: angular dart zurb-foundation angular-dart zurb-foundation-6

我第一次使用Foundation并在现有的Angular Dart应用程序中使用它。

可以多次拨打$(document).foundation();吗?

在我的JS中,我有以下内容:

document.addEventListener("onFoundationify", function(event){
    $(document).foundation();
});

然后在我的Angular组件的Dart代码中,我调用

@override
ngAfterContentInit() {
    document.dispatchEvent(new CustomEvent("onFoundationify"));
}

因此,每个Dart组件都会在ngAfterContentInit上触发此事件,然后调用$(document).foundation();

有没有更好的方法来确定刚出现在DOM中的Angular Dart组件,或者我正在做得很好/安全?

1 个答案:

答案 0 :(得分:1)

这似乎是一种更清洁的方式:

Angular Dart:

@override
ngAfterContentInit() {
    new Future.delayed(Duration.ZERO, (){
        document.dispatchEvent(new CustomEvent("onSetupAccordian"));
    });
}

JavaScript的:

<script type="text/javascript">
    document.addEventListener("onSetupAccordian", function (event) {
        new Foundation.Accordion($("element-id-from-event"), {});
    });
</script>

这明确地设置了特定的手风琴而不是重新连接所有东西。