2014-11-10 3 views
0

Я пишу приложение, которое рисует данные и отображает их в виде таблицы. Угловой JS используется для сортировки и разбивки на страницы. В div с разбивкой по страницам вводится функция Angular, которая строит строку a и устанавливает ее в переменную $ scope.pagination. Проблема в том, что функции ng-click внутри введенного HTML не распознаются при нажатии. Я предполагаю, что это связано с тем, что их нет, когда страница отображается.Угловые JS Связанные функции HTML Не распознаются

<html ng-app="listingsApp"> 
<body ng-controller="pageController" ng-init="type=0"> 
<div class="pagination" ng-bind-html="paginate"></div> 

    var listingsApp = angular.module('listingsApp', []); 

    listingsApp.controller('pageController', function($scope, $sce, $filter, $http) { 
    $scope.BuildPaginationHtml = function(showPage) { 
     pageString = "<span class=\"paginationItem \" ng-click=\"GoToPage(" + i + ")\"> " + i + " </span>"; 
     $scope.pagination = pageString; 
    } 
    } 

Здесь щелчок по пролету не переходит к функции GoToPage. У меня есть консольный журнал, чтобы проверить его. Все остальные события кликов на странице работают.

ответ

0

Для динамического HTML, вы должны использовать $compile

listingsApp.controller('pageController', function ($scope, $sce, $filter, $http, $compile) { 
    $scope.BuildPaginationHtml = function(showPage) { 
     pageString = $compile("<span class=\"paginationItem \" ng-click=\"GoToPage(" + i + ")\"> " + i + " </span>")($scope); 
     $scope.pagination = pageString; 
    } 
}); 
Смежные вопросы