我正在使用 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/