簡體   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