вставьте нг-клик в добавление углового положения js - PullRequest
0 голосов
/ 13 февраля 2019
  for(var i = 0 ; i<data.success.length; i++)
            {
              // console.log(data.success[i]);

                  $("#show_rules").append("<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>");


            }
            })

            };
                         $scope.edit_initial_infoq= function(){
                         console.log('edit_initial_infoq');
                             };

это не дает мне ошибки и не может обработать функцию edit_initial_infoq

1 Ответ

0 голосов
/ 13 февраля 2019

Я считаю, что проблема в том, что вы добавляете 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...