AngularJS事件在弹出的动态添加按钮
问题描述:
我有一个angularJs的问题。 打开弹出窗口并在弹出窗口中动态添加按钮后,我不知道如何触发按钮事件。我尝试了几乎所有的东西。AngularJS事件在弹出的动态添加按钮
下面是一个例子:https://plnkr.co/edit/QfnDttJE2OnfHzt65tBQ?p=preview
答
确定给你的代码,它可以改进一下,但这个应该是固溶体: https://plnkr.co/edit/UiOsyHBjVZTW33yr6h3z?p=preview
的Javascript:
app.controller('ModalInstanceCtrl', function ($uibModalInstance,$compile) {
var $ctrl = this;
$ctrl.buttonArray = [];
$ctrl.cancel2 = function() {
$uibModalInstance.dismiss('cancel');
};
$ctrl.add2 = function(){
$ctrl.buttonArray.push('message' + $ctrl.buttonArray.length)
};
$ctrl.message = function() {
alert('Message');
};
});
HTML:
<div ng-app="app" ng-controller="postoviCtrl as $ctrl">
<script type="text/ng-template" id="modalOdabraniPost.html">
<div class="modal-body">
<p>Header</p>
<hr/>
<button class="btn btn-sm" type="button" ng-click="$ctrl.add2()">Add</button>
<div id="content">
<button ng-repeat="btn in $ctrl.buttonArray" class="btn btn-primary btn-sm" type="button" ng-click="$ctrl.message()">{{btn}}</button>'
</div>
</div>
<div class="modal-footer">
<button class="btn btn btn-primary" type="button" ng-click="$ctrl.cancel2()">Close</button>
</div>
</script>
<a href="" class="label label-danger" ng-click="$ctrl.open2()">Open</a>
</div>
你不应该在angularjs中添加类似的东西,而是以jQuery的方式进行添加 - 向DOM添加元素。尝试在控制器上设置一些数组变量,它将获取你的按钮列表,即btnArray(仅限于对象列表),然后在你的按钮元素上对该btnArray执行重复操作,并显示该模式中该数组的所有内容。 – pegla