ng-click не работает в HTML, загруженном в div - PullRequest
0 голосов
/ 28 августа 2018

Я видел пару ответов, но не могу понять, как их применять.

У меня есть страница, которая состоит из двух дел. Боковой навигационный блок и основной блок. При загрузке страницы js ниже загружает HTML в основной div. Эта же функция используется для перемещения (через навигацию) внутри документа после загрузки.

Проблема в том, что в HTML есть также ссылки на функцию, так как есть некоторые точки самоссылки и т. Д.

Боковая навигация работает нормально, а в HTML - нет. Я предполагаю, что это проблема компиляции, но я не могу понять, как правильно ее компилировать.

Вот JS:

Ctrler.loadPage = function(hash){
    if(!hash){
        var url = "filename.html";
        var xhr= new XMLHttpRequest();
        xhr.open('GET', url, true);
        xhr.onreadystatechange= function() {
            if (this.readyState!==4) return;
            if (this.status!==200) return; 

            cur = this.responseText;
            cur = cur.replace(/{{sitePath}}/g, jsPath.path);

            document.getElementById('maindiv').innerHTML= cur;
            $('#maindiv').html = this.responseText;
        };
        xhr.send();
    }
    else{
        document.getElementById(hash).scrollIntoView();
        window.scrollBy(0, -90);
    }
}

РЕДАКТИРОВАТЬ: я изменил строки, которые заполняют div на это:

            $compile(cur)($scope);
            $('#maindiv').append(cur);

но все равно не работает. Он загружается в первый раз, но нг-клики по-прежнему не работают.

1 Ответ

0 голосов
/ 28 августа 2018

Я понял это.

Мне нужно было скомпилировать $('#maindiv') после того, как я добавил cur. Не cur

...