Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Polymer.dart支持强制胡须绑定吗?_Dart_Dart Polymer - Fatal编程技术网

Polymer.dart支持强制胡须绑定吗?

Polymer.dart支持强制胡须绑定吗?,dart,dart-polymer,Dart,Dart Polymer,我无法将胡子绑定到聚合物中。省道组件: 。。。 @可观测字符串数据=“testData”; ... 就绪(){ 元素容器=this.shadowRoot.querySelector(“容器”); DocumentFragment newFragement=this.createFragment(“”); container.nodes.add(newFragement); } 胡子绑定没有被解释,我发现的一个解决方法是这个,但我不知道这是否是首选的方式,缺点是我不能强制使用胡子绑定,而不是:

我无法将胡子绑定到聚合物中。省道组件:

。。。
@可观测字符串数据=“testData”;
...
就绪(){
元素容器=this.shadowRoot.querySelector(“容器”);
DocumentFragment newFragement=this.createFragment(“”);
container.nodes.add(newFragement);
}
胡子绑定没有被解释,我发现的一个解决方法是这个,但我不知道这是否是首选的方式,缺点是我不能强制使用胡子绑定,而不是:

Element newElement=newElement.tag(“示例元素”);
nodeBind(newElement).bind(“myAttribute”,新的PathObserver(“数据”));
container.nodes.add(新元素);

欢迎有任何想法!:-)

我找到了另一种方法,在执行此操作时。createFragment()我可以使用模板标记包装HTML,并对该元素执行templateBind()。 现在,Mustache绑定也在强制创建的HTML节点上进行解释。;)

致以最良好的祝愿,希尔玛 Polymer.dart已经
injectBoundHtml()


...
this.injectBoundHtml(“”,this.$['container']);
另见

起初的 贾斯汀·法格纳尼提供了一个解决办法

另见本期

是的,问题是所有这些绑定和pathobserver实际上都是反射的。我们使用smoke作为实现反射API的库。当你在Dartium中运行时,这个API是用dart:mirrors实现的,但是当你用polymer transformers构建应用程序时,我们用生成的代码来代替mirrors的使用,以帮助dart2js优化你的应用程序

为了生成我们需要的代码,聚合转换器解析你的应用程序,发现模板中的每一个表达式,等等。Dart代码中的表达式(如上面的示例)未被发现,因此我们不知道如何为它们生成代码。这就是为什么没有#命令或#保存项的基本原因

在未来,我想添加一个选项,添加您自己的变压器相位,告诉smoke生成一些额外的符号等等,但这在今天不可用

同时,解决此问题的最佳方法是确保在HTML模板中的某个地方提到这些符号。定义其模板使用这些符号的聚合元素就足够了(即使该元素没有在任何地方使用)


我试过这样做,但也失败了,但我相信这在不久前已经奏效了。我会尝试一下,如果它仍然不起作用,我会提交一个bug;(