2016-06-27 6 views
0

На мой взгляд, у меня есть список пунктов:Как передавать данные из списка AngularJS в Bootstrap modal?

<li ng-repeat="fruit in items"> 
{{fruit.name}}/{{fruit.price}} 
<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">EDIT</button> 
</li> 

И я хотел бы, чтобы редактировать каждый продукт, используя загрузочный модальность. Вот почему мне нужно передавать данные определенного продукта в модальные. После этого я просто передам эти данные в угловой скрипт, используя ng-click="saveFruit(dataFruit)", а saveFruit сохранит данные.

Вот моя скрипка: http://jsfiddle.net/czus6s3a/

+0

Я думаю, вы должны использовать [ui-bootstrap] (https://angular-ui.github.io/bootstrap/). У этого есть модальная директива для этой цели. [Ссылка на модальный раздел] (https://angular-ui.github.io/bootstrap/#/modal) – infernaze

+0

Этот [ответ] (http://stackoverflow.com/a/36442755/4759033) может быть полезен. –

ответ

1

EDIT: Измененный ответ полностью.

Щелкните здесь для рабочей скрипки: http://jsfiddle.net/sn8u7kqe/1/.

Изменения:

В контроллере я создал $scope.dataFruit = null, просто чтобы убедиться, что переменная инициализируется. Я также создал функцию следующим образом:

$scope.setDataFruit = function(fruit) { 
    $scope.dataFruit = fruit; 
}; 

Это должно было гарантировать, что мы присваиваем плод правой $scope.

Наконец, я был вы перемещаете <div class="modal"> к ВНУТРИdiv который имел ng-controller директиву.

Контроллер будет применять только свою модель (переменные, функции и т. Д.) К элементам, которые она имеет видимость. В соответствии с вашим оригинальным примером модальный был OUTSIDE для div, поэтому привязка данных не применялась бы там.

+0

Хмм, я знаю, что вы пытаетесь сделать, но это не работает для меня. Можете ли вы отредактировать мою скрипку? – DiPix

+0

Я редактировал скрипт: http://jsfiddle.net/sn8u7kqe/1/. Я уточню свой ответ, чтобы отразить то, что я сделал. –

+0

Я вижу небольшую проблему. Если я редактирую модальный, то изменения также отображаются на основном представлении (до того, как я нажал сохранить) – DiPix

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