events - 如何订阅 Spec 对象 (TextInputField)
问题描述
我有带有 textArea 和 textInputField 的简单 Spec 对象。在它旁边,我有另一个 Spec 不知道的对象。当我将一些文本写入 textInputField 时,我需要将带有该文本的消息发送到其他类。我试过播音员,但它不起作用。有什么方法可以通知其他对象并将此文本发送给它?
解决方案
您正在寻找acceptBlock:
每次文本值更改时都会调用一个块:
| cm |
cm := TextInputFieldPresenter new.
cm autoAccept: true.
cm acceptBlock: [ :txt | doSomething with: txt.].
您可以在规范手册中找到有关规范的更多信息:http: //books.pharo.org/spec-tutorial/
请注意,在较新版本的 pharo 中,规范类已被重命名为...Model
尚未...Presenter
反映在手册中。因此,您是否使用TextInputFieldModel
或TextInputFieldPresenter
取决于您的 pharo 版本。
推荐阅读
- ampl - 如何在 AMPL 中获得整数解?
- java - 为什么JVM中的引用不占用两个堆栈槽
- c# - Request.ClientFilePath 在 Watch 窗口中可见,但在代码中无效
- spring-batch - Spring Batch - Java配置中的抽象步骤定义?
- python - 关于 Python 扩展的 Valgrind:块中的字节可能会丢失
- java - 堆栈溢出错误:在基类和扩展类中使用构造函数?
- postgresql - Postgresql 时间戳差异大于 1 小时
- python - 从 R 或 Python 运行 .jl 文件
- javascript - 使用 Redux 从 DB 获取 EditorState(DraftJS)
- html - 具有可滚动内容的 Flexbox 完整父级的宽度和高度