gpt4 book ai didi

dart - 如何在 Polymer.dart 中的自定义元素内注册 PolymerExpression 过滤器?

转载 作者:行者123 更新时间:2023-12-03 04:27:45 28 4
gpt4 key购买 nike

如何在自定义元素内注册 PolymerExpression 过滤器?我正在使用 Polymer.dart。

我想用这个:

<div>Uppercase: {{bob.fullName | uppercase}}</div>

在我的自定义元素的模板内。在哪里注册大写

最佳答案

我尝试了 Seth 答案,表达式本身正在工作,但不知何故我丢失了组件上的事件。当我使用时,我的点击事件不再起作用:

  DocumentFragment instanceTemplate(Element template) =>
template.createInstance(this,
new PolymerExpressions(globals: {
'uppercase': (String input) => input.toUpperCase()
}));

我还尝试了聚合物表达式页面上提出的解决方案,但绑定(bind)委托(delegate)显然丢失了。也许是因为新版本?

无论如何,在研究了代码之后,我发现了另一种拥有表达式并保持事件正常运行的方法。

class MyElement extends PolymerElement {

MainElement.created() : super.created();

@override
BindingDelegate syntax = new MyPolymerExpressions();
}

class MyPolymerExpressions extends PolymerExpressions {

MyPolymerExpressions(): super(globals: {
'uppercase': (String input) => input.toUpperCase()
});

@override
prepareBinding(String path, name, node) => Polymer.prepareBinding(path, name, node, super.prepareBinding);
}

我注意到事件正在工作,prepareBinding 方法被覆盖。

如果有人有更好的方法或对此有一些想法,我很感兴趣!

关于dart - 如何在 Polymer.dart 中的自定义元素内注册 PolymerExpression 过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18936287/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com