Dart 当一个可观察对象发生变化时,我如何获得它的值?
这是我的密码: 省道:Dart 当一个可观察对象发生变化时,我如何获得它的值?,dart,dart-polymer,Dart,Dart Polymer,这是我的密码: 省道: 导入'dart:html'; 进口“包装:聚合物/聚合物.dart”; @CustomTag(“我的东西”) 类神话扩展了关联{ @可观察var val=“你好,世界”; MyThing.created():super.created(){} } Html: Val是:{{Val} 您可以看到val表示文本区域的值。我想做的是:当textarea的值发生变化时,将最后一个单词放入其中,修改它,并用新文本更新textarea 例如,如果用户键入“Hello,world
导入'dart:html';
进口“包装:聚合物/聚合物.dart”;
@CustomTag(“我的东西”)
类神话扩展了关联{
@可观察var val=“你好,世界”;
MyThing.created():super.created(){}
}
Html:
Val是:{{Val}
您可以看到val
表示文本区域的值。我想做的是:当textarea的值发生变化时,将最后一个单词放入其中,修改它,并用新文本更新textarea
例如,如果用户键入“Hello,world”,我可能希望识别单词“world”,并将其替换为全大写版本的“world”
我是否必须使用querySelector
与我的@observable
行分开观察字段?我尝试了这个,但没有成功:
querySelector(“#inputName”).onInput.listen(someUpdate);
无效更新(事件e){
打印(“更改”);
}
我在MyThing
类中尝试了它,我在main中尝试了它,在任何东西之外尝试了它,但都没有成功
我觉得应该有某种我可以监听的事件,通过使用
@observable
进行设置。有?如果我听不到任何东西,或者我无法添加任何类型的自动回调,那么我如何才能将我的查询选择器
行更改为实际工作?我不知道文本区域
是否有什么特别之处,但我想应该满足您的需要,只需在MyThing
类中添加一个valChanged
方法。每次val
更改时都会调用此方法。如果您在
valChanged
内部更改val
,您可能会遇到无休止的循环
valChanged(旧值、新值){
//在这里做事
}
或者您可以使用更改事件
valChangeHandler(事件e){
//在这里,您可以将元素作为'e.target'传递`
//您可以访问“val”`
}
这正是我要找的。你知道有没有办法获得对值也发生变化的元素的引用?我认为这是不可能的。您试图实现什么?也许更改事件更适合您的用例。我更新了我的答案。