Je ne suis pas sûr d'avoir mal compris la liaison dans Flex. J'utilise le framework Cairngorm. Je le composant suivant avec le code suivant:Problèmes de liaison
[Bindable]
var _model:LalModelLocator = LalModelLocator.getInstance();
....
<s:DataGroup dataProvider="{_model.friendsSearchResults}"
includeIn="find"
itemRenderer="com.lal.renderers.SingleFriendDisplayRenderer">
<s:layout>
<s:TileLayout orientation="columns" requestedColumnCount="2" />
</s:layout> </s:DataGroup>
dans le localisateur de modèle:
[Bindable]
public var friendsSearchResults:ArrayCollection = new ArrayCollection();
A l'intérieur du rendu d'élément il y a un bouton qui appelle une commande et à l'intérieur des résultats de la commande il y a une ligne comme ceci:
model.friendsSearchResults = friendsSearchResults;
Putting points de rupture et parcourant le code, je confirme que cela comme est appelé et les friendsSearchResults est mis à jour. À mon avis, si je mets à jour une variable pouvant être liée, elle devrait automatiquement rendre de nouveau le s: DataGroup qui a un dataProvider de cette variable.
Merci pour l'excellent aperçu, il a aidé à détecter la source du problème que je faisais quelque chose comme: var friendsSearchResults: ArrayCollection = model.friendsSearchResults; mais cela faisait que la nouvelle variable pointait vers le même, donc même si je le faisais: model.friendsSearchResults = friendsSearchResults; par la suite, il n'a pas vraiment défini la variable du modèle. – Tam