我的问题是,来自聚合物元素的可观测和已发布的变量不起作用。更准确地说,如果我从package中导入元素,它们将无法工作。它们显示正确,但是如果更改其值,它们将不响应。
如果我直接从主项目中加载相同的元素,一切正常!
我在github.com上发布了完整的项目,并在此处添加了自述文件->
我创建了一个包含聚合物元素的包装。该软件包称为foo_package,我的聚合物元素使用foo.html和foo.dart。它名为poly-foo。
foo_package结构
现在,我创建一个新项目,并准备使用聚合物元素的一切。在yaml中,我向程序包添加了依赖项
pubspec.yaml
[...]
dependencies:
foo_package:
path: D:\User\UserName\dart\foo_package
[...]
现在我将foo.html导入我的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;
}
}
库包中需要聚合物转换器配置(尽管不需要任何入口点)
transformers:
- polymer:
entry_points:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句