Я считаю, что проблема в том, что вы добавляете html, а angular не знает об изменениях, и поэтому ng-click не работает.Попробуйте следующее:
Вместо:
var html = "<li style='display: flex;'><div class='checkbox' id='container_divv'><a id='mm' ng-click='edit_initial_infoq()'>"+data.success[i].name+"</a><button ng-click='edit_initial_infoq()'>dd</button></div></li>";
#("#show_rules").append(html);
Попробуйте выполнить:
var html = "<li style='display: flex;'><div class='checkbox' id='container_divv'><a id='mm' ng-click='edit_initial_infoq()'>"+data.success[i].name+"</a><button ng-click='edit_initial_infoq()'>dd</button></div></li>";
var myElement = angular.element( document.querySelector( '#show_rules' ) );
myElement.append( $compile(html)($scope) );
ОДНАКО ...ты не должен этого делать.Вы не должны манипулировать DOM внутри контроллера, как вы это делаете.Вместо этого попробуйте сделать следующее:
JavaScript :
YourService.loadRules().then(function(data){
$scope.rules = data.success;
});
HTML :
<ul id="show_rules">
<li ng-repeat="rule in rules" style='display: flex;'>
<div class='checkbox' id='container_divv'>
<a id='mm' ng-click='edit_initial_infoq()'>
{{rule.name}}
</a>
<button ng-click='edit_initial_infoq()'>dd</button>
</div>
</li>
</ul>
Вотбольшой вопрос для чтения, первый ответ загружен большой информацией: "Мышление в AngularJS", если у меня есть фон jQuery?