我在ListView中显示了Contact
个对象的列表。我想做的是在第一次建立页面时从后端初始化我的列表。
我使用ScopedModel从后端获取数据。 所以我想做的是:
ScopedModelDescendant<Account>(
builder: (context, child, _account){
...
if(_account.profile.contacts != null)
_account.profile.contacts.forEach((contact){
Contacts contactToAdd = new Contacts(contact.name, contact.label, contact.phonenumber,contact.email);
contactToAdd.onTap = editContact(contactToAdd);
listOfContact.add(contactToAdd);
});
}
)
但是问题是,因为代码在build method
中,所以每次添加联系人时,由于ScopedModel而所有内容都会生成,并且此代码将重新执行,使得每次添加一个联系人时,整个列表又被添加了,它重复并增加了很多东西。
为什么我不以Build方法为例在didChangeDependencies()
中执行此代码?因为我需要范围模型(帐户)的数据才能进行测试。
所以我不知道如何进行:/知道吗?
答案 0 :(得分:0)