小编use*_*276的帖子

Dart:使用带有多个getter/setter的observable

对于我的Polymer应用程序,我需要一个可观察的两种不同的类型,例如整数值和字符串值.我使用getter和setter来封装状态和内部表示.通过这样做,我必须为每个setter中的每个observable 实现notifyPropertyChange,这导致了很多errorprone管道代码.例如,我需要两次notifyPropertyChange -Statements两种口味,如果我必须使用4种口味,我必须使用4*4 = 16 notifyPropertyChange -Statements.我修改了点击计数器示例来说明这一点:

@CustomTag('click-counter')
class ClickCounter extends PolymerElement {
  int _count;
  @observable int get count => _count;
  @observable set count(int val) {
    notifyPropertyChange(#count,_count,val);
    _count = notifyPropertyChange(#strcount,_count,val);}

  @observable String get strcount { 
    print("TOSTRING "+_count.toString()); 
    return _count.toString();}

  @observable set strcount(String val) { 
    notifyPropertyChange(#strcount,_count,int.parse(val));
    _count = notifyPropertyChange(#count,_count,int.parse(val));}

  ClickCounter.created() : super.created() {
  }

  void increment() {
    count++;
  }
}
Run Code Online (Sandbox Code Playgroud)

没有那么多notifyPropertyChange -Statements,有没有更好的方法来实现它?

问候

马库斯

dart dart-polymer

5
推荐指数
1
解决办法
686
查看次数

标签 统计

dart ×1

dart-polymer ×1