templates - Dart:WAITING模板完成

标签 templates dart dart-polymer

我有一个 HTML,其中包含一些模板和一个更改绑定(bind)模板的函数。 该函数如下所示:

void onHover(Event e, var detail, Node sender) {
    this.querySelector('#tempToBind').setAttribute("ref", "Btn2");

    this.querySelector('#Btn2').onMouseLeave.listen((e) {
    this.querySelector('#tempToBind').setAttribute("ref", "Btn1");
}

当鼠标进入 Btn1 时,应显示 Btn2;如果鼠标离开 Btn2,则应再次显示 Btn1。如果我查询 Btn2 始终为 null,我猜这是因为模板尚未完成加载。 当模板加载完成时,有没有办法获得回调?

模板如下所示:

<template>
<!-- some content here -->
    <template id="tempToBind" bind ref="Btn1"></template>

<template>

<template id="Btn1">
 <div><button>1</button><div>
</template>
<template id="Btn2">
 <div><button>2</button><div>
</template>

最佳答案

据我所知,没有事件,但通常应该通过 new Future(() => ...)scheduleMicrotask 延迟执行。

void onHover(Event e, var detail, Node sender) {
  this.querySelector('#tempToBind').setAttribute("ref", "Btn2");
  scheduleMicrotask(() {
    this.querySelector('#Btn2').onMouseLeave.listen((e) {
    this.querySelector('#tempToBind').setAttribute("ref", "Btn1");
  });
}


void onHover(Event e, var detail, Node sender) {
  this.querySelector('#tempToBind').setAttribute("ref", "Btn2");
  new Future(() {
    this.querySelector('#Btn2').onMouseLeave.listen((e) {
    this.querySelector('#tempToBind').setAttribute("ref", "Btn1");
  });
}

关于templates - Dart:WAITING模板完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26716680/

相关文章:

dart - 如何重新排列 polymer 模板化的内容?

C#-like 泛型,C++ 中的模板类型约束

c++ - 模板函数特化 : linker error

C++ 模板特化因非类型参数包而失败

dart - 在该时间点不使用 `set`

dart - 表单中类型为 ="submit"的纸按钮不提交?

c++ - 基于概念的模板成员函数重载

Flutter:CustomPainter 绘制方法被调用多次而不是一次

flutter - 为什么 setState 不重建我的 GridView.builder?我如何解决它?

unit-testing - DART - expectAsync 不适用于 httpRequest