Dart Polymer 1.0 - 双向绑定有效吗?
Dart Polymer 1.0 - Two-way binding works?
双向绑定在 Dart Polymer 1.0 - RC2 中有效吗?
当我在 .dart 中更改字段 @属性(nofity: true) 时,它不会反映(更改)为 .html.[=12 中的 {{}} =]
看下面的例子。
当我点击纸质按钮时,它会触发 clicar,属性 text 已更改,但是{{text}}不变!
main_app.html
<dom-module id="main-app">
<style>
:host {
display: block;
}
</style>
<template>
<paper-input label="Type something..." value="{{text}}"></paper-input>
<p>
Text: <span>{{text}}</span><br />
</p>
<paper-button on-click="clicar">cliqueme</paper-button>
</p>
</template>
</dom-module>
main_app.dart
@HtmlImport('main_app.html')
library untitled8.lib.main_app;
import 'dart:html';
import 'package:polymer_elements/paper_button.dart';
import 'package:polymer_elements/paper_input.dart';
import 'package:polymer/polymer.dart';
import 'package:web_components/web_components.dart';
@PolymerRegister('main-app')
class MainApp extends PolymerElement {
@Property(notify: true)
String text;
MainApp.created() : super.created();
@reflectable
void clicar(e, detail) {
text = "super teste";
}
}
您需要使用提供的方法来更新属性,例如
set('text', "super teste");
notify: true
只是通知父元素(触发一个 test-changed
事件)
PolymerBase
mixin 中有很多这样的方法,您可以通过扩展 PolymerElement
自动添加这些方法,并通知 Polymer 有关更改。
notifyPath
(目前与set
相同)
集合有
add
addAll
clear
fillRange
insert
insertAll
removeItem
removeAt
removeLast
removeRange
removeWhere
replaceRange
retainWhere
setAll
setRange
还有一个
get
不确定它的用途。
双向绑定在 Dart Polymer 1.0 - RC2 中有效吗?
当我在 .dart 中更改字段 @属性(nofity: true) 时,它不会反映(更改)为 .html.[=12 中的 {{}} =]
看下面的例子。
当我点击纸质按钮时,它会触发 clicar,属性 text 已更改,但是{{text}}不变!
main_app.html
<dom-module id="main-app">
<style>
:host {
display: block;
}
</style>
<template>
<paper-input label="Type something..." value="{{text}}"></paper-input>
<p>
Text: <span>{{text}}</span><br />
</p>
<paper-button on-click="clicar">cliqueme</paper-button>
</p>
</template>
</dom-module>
main_app.dart
@HtmlImport('main_app.html')
library untitled8.lib.main_app;
import 'dart:html';
import 'package:polymer_elements/paper_button.dart';
import 'package:polymer_elements/paper_input.dart';
import 'package:polymer/polymer.dart';
import 'package:web_components/web_components.dart';
@PolymerRegister('main-app')
class MainApp extends PolymerElement {
@Property(notify: true)
String text;
MainApp.created() : super.created();
@reflectable
void clicar(e, detail) {
text = "super teste";
}
}
您需要使用提供的方法来更新属性,例如
set('text', "super teste");
notify: true
只是通知父元素(触发一个 test-changed
事件)
PolymerBase
mixin 中有很多这样的方法,您可以通过扩展 PolymerElement
自动添加这些方法,并通知 Polymer 有关更改。
notifyPath
(目前与set
相同)
集合有
add
addAll
clear
fillRange
insert
insertAll
removeItem
removeAt
removeLast
removeRange
removeWhere
replaceRange
retainWhere
setAll
setRange
还有一个
get
不确定它的用途。