我正在使用 dart 开发一个应用程序,我想获取被点击元素的值。IE:
网址:
<div id="blah">Value!!</div>
Run Code Online (Sandbox Code Playgroud)
镖:
void main(){
query("#blah").onClick.listen(showValue);
}
void showValue(Event e){
//Get #blah's innerHtml based on the Event(Something like e.target.innerHtml or e.target.value)
}
Run Code Online (Sandbox Code Playgroud)
任何人?我知道如何在 JS 中做到这一点,但我想知道是否有办法在 DART 中做到这一点!
编辑
谢谢大家,我会尽量说得更清楚一点。我有一个动态生成 9 个元素并将它们添加到容器的循环。
代码:
var j = 0;
var optionsSquare = query("#optionsPanel");
while(j < 9){
DivElement minorSquare = new DivElement();
var minorSquareHeight = optionsSquare.clientHeight/3;
var minorSquareWidth = optionsSquare.clientWidth/3;
minorSquare
..attributes = {"class": "miniSugg"}
..style.width = (minorSquareWidth.round()-2).toString().concat("px")
..style.height = (minorSquareHeight.round()-2).toString().concat("px")
..style.float = "left"
..style.border = "1px solid"
..innerHtml = …
Run Code Online (Sandbox Code Playgroud) 覆盖以下三个生命周期方法WebComponent
:created()
,inserted()
和之后removed()
,我可以看到前两个被一致地调用但removed()
从未调用过.有什么特别的东西需要做才能removed()
被调用吗?或者它根本就没有被称为?
我正在尝试重现以下App Layout Demo(app_layout_demo)示例:
https://github.com/dart-lang/angular_components_example/tree/master/lib/src/app_layout_demo
这些物品应该出现在抽屉里:
<material-drawer persistent #drawer="drawer" [attr.end]="end ? '' : null">
<material-list *deferredContent>
<div group class="mat-drawer-spacer"></div>
<div group>
<material-list-item>
<material-icon icon="inbox"></material-icon>Inbox
</material-list-item>
<material-list-item>
<material-icon icon="star"></material-icon>Star
</material-list-item>
<material-list-item>
<material-icon icon="send"></material-icon>Sent Mail
</material-list-item>
<material-list-item>
<material-icon icon="drafts"></material-icon>Drafts
</material-list-item>
</div>
<div group>
<div label>Tags</div>
<material-list-item>
<material-icon icon="star"></material-icon>Favorites
</material-list-item>
</div>
</material-list>
</material-drawer>
Run Code Online (Sandbox Code Playgroud)
但它没有在抽屉上显示项目.看到:
浏览器控制台中也存在错误:
EXCEPTION: Invalid argument(s): No provider found for DomService. html_dart2js.dart:3559
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?
如何在 dartpad 控制台中获取用户输入?
每当我写作时
import 'dart:io';
void main() {
stdout.write("What's your name? ");
var name = stdin.readLineSync();
print("Hi, $name!");
}
Run Code Online (Sandbox Code Playgroud)
但我在控制台窗口中遇到了这样的异常
Uncaught exception:
Unsupported operation: StdIOUtils._getStdioOutputStream
Run Code Online (Sandbox Code Playgroud)