dart之通过 Javascript 函数传递 Polymer 数据绑定(bind)

oomusou 阅读:39 2025-02-15 21:57:57 评论:0

我正在使用 Polymer 和 Dart 生成点坐标列表。它在 html 中呈现点列表。尽管如此,我还是想使用 javascript 函数将点从一个坐标系转换到另一个坐标系。

在 HTML Dart polymer 中:

<template repeat="{{ p in grid_points }}"> 
    <core-item>{{ p }}</core-item> 
</template> 

我在库中找到的 javascript:

grid_to_geodetic(x, y); 

grid_points 是一个点列表。如何通过 js 函数传递 p.x 和 p.y,并在 HTML 模板中获取渲染结果以代替 p?

请您参考如下方法:

你可以使用 expression filter为此:

<template repeat="{{ p in grid_points }}"> 
    <core-item>{{ p | grid_to_geodetic }}</core-item> 
</template> 
... 
<script> 
  Polymer('your-element', { 
    grid_to_geodetic: function(point){ 
       return point.x + point.y; 
    } 
  }); 
</script> 

Filter取一个值并返回一个值,如果你需要分别转换x和y你必须使用一个常量参数来指示你要转换点的哪一部分,像

<template repeat="{{ p in grid_points }}"> 
    <core-item>{{ p | grid_to_geodetic(1) }}</core-item> 
    <core-item>{{ p | grid_to_geodetic(2) }}</core-item> 
</template> 
... 
<script> 
  Polymer('your-element', { 
    grid_to_geodetic: function(point, part){ 
       if(part == 1) return point.x; 
       else return point.y; 
    } 
  }); 
</script> 


标签:JavaScript
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号