Angulaire De 1,5 Composant Les Deux Sens De La Liaison Ne Fonctionne Pas

J'ai Angulaire 1.5.3 composant qui semble ne pas mettre à jour les valeurs pour les deux sens de la liaison. Mon contrôleur de modifier les valeurs qui sont passés au composant.

Le composant s'affiche pour lire les valeurs par défaut lorsque le contrôleur est initialisé mais par la suite elle agit comme si elle est une manière liée. Toute modification future du lié valeurs ne sont pas lus dans le composant.

Je me suis converti à partir d'un fonctionnement similaire directive et la liaison bidirectionnelle a très bien fonctionné. Est-il un événement de changement, ou quelque chose de similaire, je suis absent pour les composants? Ai-je besoin d'ajouter de la logique spécifique pour le composant contrôleur de sorte que le modèle de composant peut lire les valeurs soumises?

Modèle de Menu qui met en œuvre le composant:

<div data-ng-controller="MenuCtrl as ctrl">
    <!-- below shows ctrl values updating when controller changes them -->
    <pre>{{ctrl.menu}}</pre>
    <pre>{{ctrl.settings}}</pre>
    <!-- changes not reflected in component -->
    <my-sub-menu menu="ctrl.menu" settings="ctrl.settings"></my-sub-menu>
</div>

Sous-menu composant:

(function () {
'use strict';
angular
    .module('myApp.components')
    .component('mySubMenu', {
        bindings: {
            menu: '=',
            settings: '='
        },
        templateUrl: 'subMenu.component.html',
        controller: function () {
            //implementation that reads menu and settings
        }
    });
})();

Simplifiée sous-menu modèle de composant:

<ul>
    <li ng-show="settings.menu1"><a href="/">Menu 1</a></li>
    <li ng-show="settings.menu2"><a href="/">Menu 2</a></li>
    <li ng-show="settings.menu3"><a href="/">Menu 3</a></li>
</ul>
<!-- changes to bound values not reflected in component template -->
<pre>{{menu}}</pre>
<pre>{{settings}}</pre>
Ne devrait-elle pas être {{$ctrl.menu}} et {{$ctrl.settings}}?

OriginalL'auteur Matt Riley | 2016-04-01