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