AngularJS: objets imbriqués de définir dynamiquement les noms de modèle

J'ai un tableau contenant les noms de variables, par exemple:

var names = ['address.street','address.city'];

Je veux créer des champs de saisie de ceux-ci, et je suis en utilisant AngularJS. No big deal:

<div ng-repeat="n in names">
    <input type="text" ng-model="data[n]" />
</div>

L'résultant $scope.data objet est:

{
    "address.street" : ...,
    "address.city" : ...
}

Qui, en passant, n'est pas exactement ce que je suis en train de réaliser.
Est-il une syntaxe qui pouvait me conduire à un objet comme le suivant comme résultat?

{
    "address" : {
        "street" : ...,
        "city" : ...
    }
}

Veuillez considérer que je peux avoir encore plus d'un niveau d'imbrication, c'est juste un exemple.

Voulez-vous dire de votre $scope.data est { "address" : { "street" : ..., "city" : ... } }. Il n'est pas clair
Je suis en train de le faire comme vous l'avez écrit

OriginalL'auteur Lorenzo Marcon | 2013-11-21