Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
 Динамически добавить элемент в ng-model AngularJS.  [new]
rigor mortis
Member

Откуда:
Сообщений: 55
Привет,
что-то затруднился. На странице инициализируется список:

                    <ol id="targetContainer" >
                        <li ng-repeat="item in target" item_id="{{item.Id}}">{{item.Name}}</li> 
                    </ol>


В контроллере изначально
$scope.target = [];


В targetContainer добавляется динамически

"<li item_id='" + item.Id + "'>" + item.Name + "/></li>"


при этом в коде обрабатывается

$compile(angular.element(document.getElementById("targetContainer")))($scope);


Но в $scope.target новый элемент не добавляется. Как сделать чтобы элемент списка добавился в $scope.target?
10 дек 18, 17:02    [21759358]     Ответить | Цитировать Сообщить модератору
 Re: Динамически добавить элемент в ng-model AngularJS.  [new]
Лысый дядька
Member

Откуда:
Сообщений: 330
rigor mortis,

фигню какую-то делаете. Какие объекты у вас в $scope.target?
11 дек 18, 05:57    [21759746]     Ответить | Цитировать Сообщить модератору
 Re: Динамически добавить элемент в ng-model AngularJS.  [new]
rigor mortis
Member

Откуда:
Сообщений: 55
Лысый дядька,

{
Id: 1,
Name: 'Name1'
}
11 дек 18, 10:12    [21759883]     Ответить | Цитировать Сообщить модератору
 Re: Динамически добавить элемент в ng-model AngularJS.  [new]
rigor mortis
Member

Откуда:
Сообщений: 55
rigor mortis
Лысый дядька,

{
Id: 1,
Name: 'Name1'
}


То есть массив их:
[{
Id: 1,
Name: 'Name1'
},
{
Id: 2,
Name: 'Name2'
},
...]
11 дек 18, 10:14    [21759888]     Ответить | Цитировать Сообщить модератору
 Re: Динамически добавить элемент в ng-model AngularJS.  [new]
Лысый дядька
Member

Откуда:
Сообщений: 330
rigor mortis,

Ну и нафига вам

"<li item_id='" + item.Id + "'>" + item.Name + "/></li>"

??
Так вообще не делают в ангуляре. Директива - это шаблон + контроллер + модель состояния. Если вы зачем-то используете id, или пытаетесь собрать элемент конкатенацией, значит вы делаете что-то совсем не то. У вас же было все правильно
<li ng-repeat="item in target">{{item.Name}}</li> 

зачем вам понадобились какие-то id?

автор
$compile(angular.element(document.getElementById("targetContainer")))($scope);

еще не лучше бред. $compile более-менее разумно использовать, если вы получаете компонент ajax-ом.


Лучше расскажите, что пытаетесь сделать.
11 дек 18, 10:30    [21759912]     Ответить | Цитировать Сообщить модератору
Все форумы / HTML, JavaScript, VBScript, CSS Ответить