[Polymer+Dart] 逆引きPolymer
Polymer 1.0なんてニュースもありますね。
Dart + Polymerも、ようやく実用レベルに達したような気もしてきたこの頃。
というわけで豆知識。
https://www.polymer-project.org/0.5/docs/polymer/layout-attrs.html
でも、Polymer1.0にこの機能ないんだね…。Styleシートで行うようになっているようだ。なるほど。
そんな便利なこと許されますかね!
でも、途中にtemplateが入ると検索が届かなくなります。要注意!
っていうか?=って何ヨ?
Polymer1.0では、$=になっているようだ。
Dart + Polymerも、ようやく実用レベルに達したような気もしてきたこの頃。
というわけで豆知識。
Polymerのレイアウト支援機能
horizontalとかflexとかのキーワードを属性に書くだけでレイアウトしてくれちゃうぞ。<div horizontal layout>これで横に並べてくれちゃう。"hoge"はサイズ固定。
<div>hoge</div>
<div flex>fuga</div>
</div>
https://www.polymer-project.org/0.5/docs/polymer/layout-attrs.html
でも、Polymer1.0にこの機能ないんだね…。Styleシートで行うようになっているようだ。なるほど。
プロパティにChangeリスナーを張る
プロパティ名の後に"Changed"と書いたメソッドを作成すると、そのプロパティが変更された後に呼ばれる!@observable String hoge;これでinputの入力文字を変更する度にhogehoge出力されるぞ。
void hogeChanged() => print("hoge")
----
<input type="text" value="{{hoge}}">
そんな便利なこと許されますかね!
idでHtmlElement検索
<div id="hoge"></div>これイケるッス。
---
var d = $['hoge'] as DivElement;
でも、途中にtemplateが入ると検索が届かなくなります。要注意!
ある条件でElementを隠したい
あるElementを表示したりしなかったりすることは<template if="">でも可能ですが、そうじゃない方法もあります。<div hidden?="{{flag}}"></div>templateを使わないので、$[]検索も届きます。
<button on-click="{{hoge}}">出てこい</button>
---
@observable flag = true;
void hoge() {
flag = false;
}
っていうか?=って何ヨ?
Polymer1.0では、$=になっているようだ。
俺イベント
fire('hoge', detail: {'message': "hogehoge"});ってやると、
<div on-hoge="{{fuga}}"></div>ってキャッチできるそうですよ。
イベントってDOMツリーを遡上するのね
<div on-change="{{hoge}}">radioボタンのon-changeがdivでキャッチ出来るんだと。
<input type="radio" name="h" value="A">
<input type="radio" name="h" value="B">
</div>
コメント
コメントを投稿