【问题标题】:Polymer 1.0 change fields of the Dart objects within themselves to reflect to polymerPolymer 1.0 改变 Dart 对象自身的字段以反映到聚合物
【发布时间】:2015-12-27 04:45:28
【问题描述】:

美好的一天。我似乎无法在通过扩展 JsProxy 创建的 Dart 对象中进行值更改,这些更改反映到 Polymer 元素中的数据绑定。见下文

person.dart

class Person extends JsProxy {

   @reflectable
   String name;

   Person() {
   name = "temp";
   }

   void changeVar(){
   name = "Matthew";
   }
}

my_element.dart

@PolymerRegister('my-element')
class MyElement extends PolymerElement{

  //Runner Object
  @property Person person = new Person();

  //Constructor
  MyElement.created() : super.created(){ }

my_element.html

<div>
  [[person.name]]
</div>

现在我希望能够在它自己的对象中调用changeVar() 并让它反映在 Polymer 元素上。如果我在调用changeVar() 后打印出变量,它会显示新值,但该值不会反映在 Polymer 元素中。

目前我发现改变它的唯一方法是在元素 dart 文件中使用set('person.name', "matthew")。但是我不希望在那里实现它。

【问题讨论】:

    标签: dart polymer-1.0 dart-polymer


    【解决方案1】:

    Polymer 需要收到有关更改的通知。这就是 set()notifyPath() 或其他一些 Polymer API 方法所做的。

    我没有尝试过https://pub.dartlang.org/packages/polymer_autonotify,但它似乎可以解决您的问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-20
      • 2015-11-06
      • 2015-08-12
      • 1970-01-01
      • 2015-06-20
      • 1970-01-01
      • 2014-06-30
      • 1970-01-01
      相关资源
      最近更新 更多