【问题标题】:communication between Web-UI ComponentsWeb-UI 组件之间的通信
【发布时间】:2013-06-23 07:10:05
【问题描述】:

我是一名菜鸟飞镖。我已经在 https://github.com/mackristof/DartWebComponentCommunication 上推送了测试项目。 我想找到 2 个 web 组件之间通信的最佳实现。如果用户单击 webComponent 1 上的按钮,如何通知计数器 webcomponent 2?溪流 ?总线事件?

感谢提供最佳解决方案的拉取请求。

克里斯托夫。

【问题讨论】:

    标签: dart dart-webui


    【解决方案1】:

    对于这种类型的通信,我已经实现了event bus,它对我来说非常有用。

    如果事件总线是在应用级别定义的,您的事件可能如下所示;

    void increment() {
          eventBus.fire(clickEvent, 1)
    }
    

    您的计数器组件可以由类似的模型对象支持;

    class CounterComponent extends WebComponent {
    
        int get count => viewModel.count;
    
        ViewModel viewModel;
    }
    

    ViewModel 看起来像

    class ViewModel{
        int count;
    
        ViewModel(){
            eventBus.on(clickEvent).listen((msg){
                count = count + msg;
            });
        }
    }
    

    【讨论】:

      【解决方案2】:

      我认为 Web 组件可以使用事件通过父/主机 DOM 相互通信。当一个 Web 组件将触发某个事件时,主机/父 DOM 应该捕获它并通过更改其属性值来通知其他 Web 组件。 这种方式我认为 Web 组件可以通信。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-07-26
        • 2014-12-21
        • 1970-01-01
        • 2019-05-30
        • 2016-06-09
        • 2015-09-18
        • 2016-05-01
        • 2017-09-04
        相关资源
        最近更新 更多