我的问题是来自聚合物元素的可观察和发布的变量不起作用。更准确地说,如果我从包中导入元素,它们就无法工作。它们显示正确,但如果它们的值发生变化,它们就不会做出反应 如果我直接从主项目加载相同的元素一切正常!
我在github.com上发布了完整的项目并添加了自述文件 - > here
我创建了一个包含聚合物元素的包。 该软件包名为 foo_package ,我的polymer-element使用foo.html和foo.dart。 它被命名为 poly-foo 。
foo_package结构
现在我创建了一个新项目并为使用聚合物元素做好准备。 在yaml中,我添加了一个依赖项到我的包
pubspec.yaml
[...]
dependencies:
foo_package:
path: D:\User\UserName\dart\foo_package
[...]
现在我在我的html文件中导入foo.html
<link rel="import" href="packages/foo_package/foo.html">
并实现我的自定义标记
<poly-foo></poly-foo>
最后我运行我的主文件,一切看起来都没问题。我的元素以我想要的方式显示。
但是可观察量和发布的变量无效。
我做错了什么?
foo.html
<link rel="import" href="../../packages/polymer/polymer.html">
<polymer-element name="poly-foo">
<template>
Counter:{{counter}}
<button on-click="{{increment}}">Up!</button>
<script type="application/dart" src="foo.dart"></script>
</template>
</polymer-element>
foo.dart
import 'dart:html';
import 'package:polymer/polymer.dart';
@CustomTag('poly-foo')
class PolyFoo extends PolymerElement {
@observable int counter = 0;
PolyFoo.created() : super.created();
void increment(Event e, var detail, Node target) {
counter = counter + 1;
}
}
答案 0 :(得分:1)
您需要在库包中使用聚合物变换器配置(但不需要任何入口点)
transformers:
- polymer:
entry_points: