是否有类似于模板实例化的通知机制?
假设以下简单模板:
<template iterate="name in names">
<div>{{name}}</div>
</template>
当名称很长时,名称div
的容器可能会溢出。所以我想做的是在将名称div
添加到DOM时获取事件,以便我可以查看生成的宽度。然后我会缩短名称,直到它很合适。
答案 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
。
这会自动将文本缩小到容器宽度并添加省略号以指示文本已被截断。