Я динамически добавляю элементы Li, в которых я подключил функцию области. Но когда я нажимаю на нее, она вызывается несколько раз. Пожалуйста, посмотрите эту демонстрацию скрипта, где я получаю эту проблему. http://jsfiddle.net/udmcv/260/Функция Scope вызывается несколько раз в AngularJs
код HTML, как показано ниже
<div style="border:solid;color:red;Margin-bottom:4px;">
Click on Create Button to Generate the required li'sThe issue is that when there multiple Li the corresponding is getting called multiple time
<ul id="ulTabList" >
</ul>
</div>
<div style="margin-top:10px;">
<input type="button" ng-click="Addli()" value="Create"/>
</div>
и ниже Угловой код, который я использую
var app = angular.module('my-app', [], function() {
})
app.controller('AppController', function ($scope, $compile) {
var workGroupTab ="TestA"
$scope.Addli =function(){
var el = $("#ulTabList").append('<li ng-click="OpenWorkGroupTab();">Text of Li</li>'
+'<input id="btnClose_4341" type="button" value="btn" style="margin-left:1px;" ng-click="fn_btnClose()">');
$compile(el.contents())($scope);
}
$scope.fn_btnClose = function(){
console.log('clicked'+ 'val');
}
$scope.OpenWorkGroupTab =function(){
console.log('val2');
}
})
Я также видел некоторые должности, которые говорят, что некоторые предложения, но что гам Я работаю для меня. Проблема в том, что, если у меня есть 3 li genrated, то при нажатии первой кнопки Li она называется 3 раза. Когда я нажимаю кнопку 2-го лития, его вызывают 2 раза и так далее.
Пожалуйста, предложите некоторую идею по этой проблеме. Спасибо!
Почему вы не используете 'ng-repeat' ??? – Grundy
Не добавляйте вручную в DOM вручную. Вы должны манипулировать структурами данных, которые привязаны к представлению, чтобы создать то, что вы хотите ... не манипулировать представлением вручную. – tymeJV
@Grundy: На самом деле, я хочу, чтобы элемент li был сгенерирован и добавлен в Ul только на кнопке кнопки –