2014-10-31 2 views
0

Я хочу предварительно заполнить поле ввода от моего контроллера:выпуска на prepopulating значения модели на виде инициализации в angularJS

Здесь есть поле ввода:

<input class="form-control" type="text" name="partnerName" placeholder="Completeaza numele partenerului" ng-model="partnerNameModel.field" required validate-field="partnerNameModel"> 

В моем контроллере, Если я сделаю это :

partnerNameModel.field = 'test'; 

Я получаю следующее сообщение об ошибке:

TypeError: Cannot set property 'field' of undefined 

Итак, я должен был сделать это следующим образом:

$scope.partnerNameModel = {field: 'dsad'}; 

я это хорошая практика?

Есть ли лучший способ заполнить поля?

+0

Вышеуказанное в порядке. – tymeJV

ответ

1

Вы можете создать объект partnerNameModel делая

$scope.partnerNameModel = {} 

в верхней части контроллера, то вы можете использовать точечный синтаксис, чтобы установить значение, как

$scope.partnerNameModel.value = "foo" 
$scope.partnerNameModel.bar = "lemons" 

Это, как я лично работаю с объектами в Угловом

0

Когда вы имеете дело с вводом, который имеет местозаполнитель, имеет смысл поставить значение по умолчанию.

Однако объект, который вы используете, должен быть создан, или это будет большая боль в заднице.

Я рекомендую вам просто использовать:

$scope.partnerNameModel = {}; 

Убедитесь, что инициализировать поля, которые не используют непустое значение по умолчанию (выпадающий список в качестве примера).

$scope.partnerNameModel = { 
    myDrop: $scope.myList[0] 
}; 
Смежные вопросы