2017-02-15 2 views
0

У меня есть небольшая форма, которая имеет значения по умолчанию для некоторых флажков, например, есть модель человека, когда щелчок по кнопке «собака» в форме, сгенерированной формально, будет добавлен к массив «домашних животных» - строка собаки, которая является частью модели человека. Как я могу добиться этого с помощью формы?Угловая форма - шаблон значений модели флажка

{ 
    key: "dog", 
    type: "checkbox", 
    templateOptions: { 
      ??? 
    } 
} 

Форма Пример:

Person name: Joe 
Pets: 
[x] dog 

Это позволит установить модель в:

{ 
     "name": "Joe" 
     "pets": [ "dog" ] 
} 
+0

просьба сообщить некоторые подробности о вопросах. –

+0

Добавлено больше информации, надеюсь, что это поможет. – David

+0

Аналогичная проблема была решена в этой теме: http://stackoverflow.com/q/14514461/2275775 Ответ длинный, популярный и хорошо проверенный, поэтому создание нового - не самая лучшая идея. –

ответ

0

@veg, этот вопрос для угловой мерно, не угловая. Это другое. Примечательно.

В вашей инициализации:

vm.model = { //initialize a model with a pets property holding an empty array. 
    pets: [] 
} 

В модели поля:

{ 
    key: 'dog', 
    type: 'checkbox', 
    templateOptions: { 
     label: 'dog', 
     onChange: function($viewValue, $modelValue, $scope) { 
     if($modelValue) $scope.model.pets.push('dog'); //if it's true--add it 
     else { //need to remove it from the array 
      var index = $scope.model.pets.indexOf('dog'); //get the index 
      $scope.model.pets.slice(index, index+1); //remove it from the array 
     } 
     } 
    }, 
} 
Смежные вопросы