dart - polymer 中的可观察字段和文本输入

标签 dart polymer

我有一个类字段,它是一个字符串,我想使用文本输入来修改该字段。我如何使用 @observable 和 polymer.dart 来做到这一点?

这是我想与 UI 同步的类字段:

class Person {
  @observable String name;
  Person(this.name);
}

最佳答案

导入polymer.dart归档并混入ObservableMixin进入 Person .扩展 PolymerElement , 并使用 @CustomTag注解。

这是使用 @observable 的 dart 文件使用自定义元素可能如下所示:

import 'package:polymer/polymer.dart';

class Person extends Object with ObservableMixin {
  @observable String name;
  Person(this.name);
}

@CustomTag("custom-element")
class CustomElement extends PolymerElement {
  @observable Person person = new Person('John');
}

在相关的 .html 文件中,使用 {{}}使用 @observable 创建绑定(bind)的语法 field :

<!DOCTYPE html>

<html>
  <body>
    <polymer-element name="custom-element">
      <template>
        <label> Name: <input value="{{person.name}}"></label>
        <p>The name is {{person.name}}</p>
      </template>

      <script type="application/dart" src="element.dart"></script>
    </polymer-element>
  </body>
</html>

此元素可以按以下方式使用(注意 boot.js 的链接):

 <!DOCTYPE html>

<html>
  <head>
    <title>index</title>
    <link rel="import" href="element.html">
    <script src="packages/polymer/boot.js"></script>
  </head>

  <body>
    <custom-element></custom-element>
    <script type="application/dart">
      void main() {}
    </script>
  </body>
</html>

关于dart - polymer 中的可观察字段和文本输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18263845/

相关文章:

javascript - 如何在 polymer 中设置动态 Meta 标签和 Open Graph 标签?

flutter - 如何将循环 api 中的列表合并到一个列表中

dart - Dart 中的全局变量

dynamic - 如何在 Dart 中执行 LISP(应用)?

android - 您的应用未使用 AndroidX - Flutter 不允许我生成 apk

dart - 无法在 Dart 中创建 polymer 核心元素

polymer - 如何动态访问和修改 dom-repeat 子项

Flutter:SfDataGrid 自动宽度列似乎无法按照文档工作

Polymer paper-input with google places autocomplete

Polymer:想要在点击标签或按钮时打开新的 html 页面