Commutateur de modèles html de façon dynamique sur action de l'utilisateur dans angulaire 2

Avec Angularjs 1.x vous pouvez facilement basculer modèles html sur un bouton, cliquez sur modifier/readonly modus. La ng-inclure la directive a été la clé.

<table>
    <thead>
        <th>Name</th>
        <th>Age</th>
        <th></th>
    </thead>
    <tbody>
        <tr ng-repeat="contact in model.contacts" ng-include="getTemplate(contact)">
        </tr>
    </tbody>
</table>

L'obtenir getTemplate fonction exécute ce code:

$scope.getTemplate = function (contact) {
    if (contact.id === $scope.model.selected.id) return 'edit';
    else return 'display';
};

qui conduisent à l'un de ces modèles à être actif dans l'INTERFACE utilisateur:

AFFICHAGE

  <script type="text/ng-template" id="display">
        <td>{{contact.name}}</td>
        <td>{{contact.age}}</td>
        <td>
            <button ng-click="editContact(contact)">Edit</button>
        </td>
    </script>

MODIFIER

<script type="text/ng-template" id="edit">
    <td><input type="text" ng-model="model.selected.name" /></td>
    <td><input type="text" ng-model="model.selected.age" /></td>
    <td>
        <button ng-click="saveContact($index)">Save</button>
        <button ng-click="reset()">Cancel</button>
    </td>
</script>

https://jsfiddle.net/benfosterdev/UWLFJ/

Angulaire 2 RC 4 il n'existe pas de n-include.

Comment ferais-je de la même fonction, avec juste Angulaire 2 RC4 ?

OriginalL'auteur Pascal | 2016-07-24