如何在飞镖中侦听对象中Map属性的更改

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在飞镖中侦听对象中Map属性的更改相关的知识,希望对你有一定的参考价值。

示例

class Pony 
     Map _o =;  
     get o => _o;  
     set o (v)
       print(v);
     


void main() 
    var p = new Pony();
    p.o=; //
    p.o['nothing']='no active'; //no print

我想听的是Map属性的更改,我该怎么办?

答案

您当前的实现不起作用,因为您真正要做的是使用get get调用来访问您的内部映射,然后向其中插入一个值。

我不确定接口与您的示例保持一致对您来说是否重要,但是我进行了以下更改,这些更改稍微改变了您与Pony类的交互方式:

class Pony 
  Map _o = ;

  Object operator [](Object key) => _o[key];
  void operator []=(Object key, Object value) 
    _o[key] = value;
    print('Key: "$key" updated with the value "$value"');
  


void main() 
  var p = new Pony();
  p['nothing'] = 'no active';
  // Key: "nothing" updated with the value "no active"

  print('Value from map: $p['nothing']');
  // Value from map: no active

以上是关于如何在飞镖中侦听对象中Map属性的更改的主要内容,如果未能解决你的问题,请参考以下文章

如何在颤动/飞镖的 ListView 项目中更改背景颜色

如何在javascript中更改数组对象(关于谷歌地图)的值属性?

如何使用自定义历史记录对象在我的主要App组件中侦听路线更改?

如何在飞镖/颤振中设置或删除地图标记

Javascript 对象中属性值更改的侦听器

如何对实例类列表进行排序取决于其在飞镖或颤振中的属性[重复]