Dart PolymerElement 事件总线

标签 dart dart-polymer polymer

我正在使用 polymer.dart 在 dart 中构建一个应用程序,我意识到我需要某种方式在我的 Polymer 元素之间进行通信。我已经将目光投向了 event_bus,我正试图让它与 polymer 一起工作。

然而,当我尝试将我的 PolymerElement 类放入 my_lib 时,似乎出现以下错误:

line 1 pos 6: url expected
part of my_lib;
     ^

我知道似乎每个 PolymerElement 都应该是独立的,但我很难弄清楚如何处理从一个 PolymerElement 到另一个的通信。

简而言之,我想知道如何将我的元素放在同一个库中以便它们可以共享事件总线,或者处理 Polymer 元素之间通信的首选方式是什么?

我似乎找不到 PolymerElements 之间通信的任何示例,因此不胜感激指向文档或示例的指针。

最佳答案

你说得对,一个库中最好只有一个 Polymer 元素,别无其他。

我使用 PolymerElements 和 EventBus。
这没问题。您不必将所有类都放在同一个库中即可使用它们。 只需导入您需要的内容即可。

如果您在包 lib 目录中有要导入的文件,请将它们导入到某个依赖包中。

import 'package:yourpackagename/file_to_import.dart';
import 'package:yourpackagename/src/file_to_import.dart'; // just to show that other paths work too
import 'package:yourpackagename/src/someotherdir/file_to_import.dart';  // - " -
import 'package:yourpackagename/anotherdir/someotherdir/file_to_import.dart'; // - " -

如果您要导入的文件位于应用程序包的 web 目录或 web 的任何子目录中,请使用类似的相对路径

import 'file_to_import.dart'
import 'src/file_to_import.dart'; // just to show that other paths work too
import 'someotherdir/file_to_import.dart';  // - " -
import 'anotherdir/someotherdir/file_to_import.dart'; // - " -

导入库后,您可以访问所有非私有(private)类/函数/变量,就像它们在同一个库中一样。

关于Dart PolymerElement 事件总线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21289995/

相关文章:

json - 如何在 itemBuilder 中过滤 JSON 数据

dart - 如何防止下拉菜单更改列表的高度?

dart - 设置所选的纸制标签

css - polymer 深度 CSS

flutter - 在拍打状态下显示警报

firebase - 未为 'then'类型定义 'User'方法

android - 断言宽度 > 0.0' : is not true when placing single Image in Container in FittedBox 失败

html - polymer 网格布局中的最后一行

asp.net-core - 发布 polymer + ASP.NET Core

javascript - 使 "null"不渲染的简单方法是什么?