Darts Web_ui中是否有模板创建事件?

时间:2013-06-11 15:58:13

标签: dart dart-webui

是否有类似于模板实例化的通知机制?

假设以下简单模板:

<template iterate="name in names"> 
  <div>{{name}}</div>
</template>

当名称很长时,名称div的容器可能会溢出。所以我想做的是在将名称div添加到DOM时获取事件,以便我可以查看生成的宽度。然后我会缩短名称,直到它很合适。

2 个答案:

答案 0 :(得分:2)

注意:我假设您无法通过CSS实现所需。所以这是一个代码解决方案。

我不知道有任何事件或方法可以进入创作过程。

但是,我已经成功完成了这样的事情:

import 'dart:async';
inserted() {
  Timer.run(() {
    // Do your calculations here...
  });
}

如果您稍后设置name变量,那么您可以选择使其可观察并在值更改后设置计时器:

observe(() => name), (_) {
  Timer.run(() {
    // Recalculate...
  });
});

请记住将其标记为@observable并将监听器设置为created()

答案 1 :(得分:1)

你应该在CSS中真正处理这样的事情:

.name {
  width: 50px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

并给你的div一类name

这会自动将文本缩小到容器宽度并添加省略号以指示文本已被截断。