2013-05-21 5 views
0

Привет Я новичок в угловых js, и я надеюсь, что кто-то может помочь мне со следующей проблемой.ng repeat not update

У меня есть числовое поле, называемое numAdults, и мне нужно показать набор полей (например, имя, адрес, телефон и т. Д.) NumAdult раз, чтобы получить эту информацию для каждого из этих лиц.

Вот jsfiddle для задачи jsfiddle link

Здесь также обзор кода контроллера

function bookingController($scope){ 
$scope.numAdults = 1; 
$scope.personLoop = function(){ 
    console.log('personLoop called') 
    return new Array($scope.numAdults); 
    //return new Array(2); 

} 

HTML-

<label for="book_num_adults">Number of adults:</label> 
<input id="book_num_adults" type="text" ng-model="numAdults"> 


    <div class="row" ng-repeat="t in personLoop()" style="border:2px solid red;margin-top:10px"> 
     <h4>Person {{$index+1}}</h4> 
     <input placeholder="name"><br> 
     <input placeholder="address"><br> 
     <input placeholder="telephone"><br> 
    </div> 

Вы можете также помочь мне с тем, как преобразуйте это как модуль (а не только на основе контроллера)

Спасибо заранее!

ответ

0

Ваш Fiddle была пронизана ошибками ...

http://jsfiddle.net/bRgTR/5/

  1. Под Каркасы & расширения, вам необходимо изменить 2-й ниспадающее меню от «OnLoad» к одному из «Нет» обертывание вариантов
  2. Ваше определение controller изменено. Это должно быть: .controller('name', ['depname', function (depname) { })]); - у вас был закрывающий массив.
  3. Вы должны действительно использовать полуколоны.
  4. Вы не создать массив из 5 элементов в JavaScript, как это: var a = new Array(5), что создает массив, содержащий 5. Вместо этого вы должны сделать var a = []; a.length = 5;
+0

К сожалению это было неправильно проверить ссылку HTTP://jsfiddle.net/bRgTR/3/ –

+0

Ах, тогда # 4 должен ответить на ваш вопрос. – Langdon

+0

О, отлично! и благодарю вас. На самом деле я не смог правильно его модулизовать, не могли бы вы мне помочь? –