angularjs - ввод ng-модели в виде строки

В angularjs у меня есть этот код:

<input type="text" ng-model="properties.foreground.value">

Я хочу, чтобы это было так:

<input type="text" ng-model="properties.{{type}}.value">

Я изменил часть входных данных модели на строку. Это не работает. Можно ли это сделать как-то иначе?


person Jens Törnell    schedule 10.03.2014    source источник
comment
Попробуйте ng-model="properties[type].value">.   -  person Nikos Paraskevopoulos    schedule 10.03.2014


Ответы (1)


Для доступа к свойству необходимо использовать нотацию скобок, а не точечную нотацию. Это связано с тем, что ngModel привязывает атрибут к области действия с помощью =, поэтому значение не интерполируется.

<input type="text" ng-model="properties[type].value">
person Ed_    schedule 10.03.2014
comment
что, если это более динамично, чем это, a.b.c.d или a.f.g - person kilianc; 21.03.2015
comment
Тогда это будет property[a][b][c] - person Ed_; 21.03.2015
comment
если вы посмотрите на мой пример, у меня есть a из b.c.d и a из f.g, ваш ответ в этом случае не работает - person kilianc; 22.03.2015
comment
Откройте другой вопрос, и я отвечу. В комментариях слишком сложно. - person Ed_; 22.03.2015