繁体   English   中英

使用Polymer绑定到方法

[英]Binding to a method using Polymer

使用Polymer时,是否可以绑定到方法而不是值? 例如

<div>{{someMethod()}}</div>

要么

<div>{{someMethod}}</div>

从来源和文档来看,事实并非如此。 只是想确认一下。

不是直接的,但有几种方法可能实现你想要的。 我假设你想要转换数据......?

  1. 将属性定义为ES5 getter

    有点作弊,但您可以将属性定义为getter,然后围绕返回的值包装自定义逻辑。

     <div>{{likes}}</div> Polymer('my-tag', { firstName: 'John', get likes() { return this.firstName + ' ' + lastName + ' likes bread'; } }); 

    演示: http//jsbin.com/nuyuqote/3/edit

    注意:谨慎使用此选购件。 绑定到getter在Object.observe()Object.observe() ,如果支持,Polymer将使用它。 请参阅Scott的评论如下。

  2. 定制过滤器

    尚未记录:(

     <div>{{'thingy' | upperCaseFilter}}</div> Polymer('my-tag', { upperCaseFilter: function(value) { return value.toUpperCase(); } }); 

    演示: http//jsbin.com/nuyuqote/1/edit

  3. <prop>Changed

    请参阅Scott的评论如下。

顺便说一句,我们在Polymer中没有类似{{someMethod()}}之一就是执行JavaScript。 它通常被认为是一种反模式,可以像onclick="someMethod()"因为很容易让自己受到像XSS攻击这样的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM