2013-12-03 3 views
1

У меня есть таблица, в которой пользователи могут добавлять строки, нажимая на ссылку. Эта ссылка привязана к функции, которая добавляет объект в массив. Я хочу, чтобы получить элемент DOM, который создается, но не может понять, как это сделать. Я генерирую идентификатор элемента DOM, но если я использую jQuery для его получения, он все еще не существует, когда я делаю это в функции, которая добавляет модель.Угловой: как получить элемент DOM после добавления модели в коллекцию

Спасибо за ваш ehlp

<tr ng-repeat="row in rows"> 
    <td>{{row.name}}</td> 
    <td>{{row.age}}</td> 
</tr> 

<a class="button small" ng-click="addRow();">Add Row</a> 

$scope.addRow = function() {  
    $scope.rows.push({name: 'blah',age: 12}); 
    // how do i get the dom element? 
} 
+0

Опубликовать код –

+0

Что вы хотите сделать с элементом dom? Зачем вам это нужно? Угловым способом было бы делать то, что вы хотите сделать с элементом DOM, передавая значения массиву так же, как вы передаете имя и возраст. Например, вы можете передать значения класса или id или даже css и иметь директиву таблицы, чтобы инициализировать новую строку с этими значениями. –

+0

Я хочу получить элемент и получить первую ячейку. В конце концов у меня будет поле ввода и вы захотите сосредоточиться на нем при добавлении элемента. – user1732055

ответ

0

Часто, если вам нужен доступ к DOM в контроллере методе/Scope вы не делаете это «Угловой путем», я бы порекомендовал вам сделать эту работу с директивой вместо.

+0

Спасибо. В моем случае я хочу получить первую ячейку недавно добавленной строки, поэтому не уверен, как это сделать в директиве. STILL узнать об Угловом, поэтому я посмотрю на документы – user1732055

+0

@ user1732055 Нет проблем, поэтому подумайте об этом таким образом, если вы поместите директиву на элемент ячейки, что вам нужно что-то сделать с/из вашего шаблона строки в вас -repeat, вы получите доступ к нему при создании элемента. – Gent

Смежные вопросы