2016-06-30 4 views
0

В Angularjs Мы получаем ответ Ajax от контроллера Codeigniter. Как мы можем назначить ответ на HTML-страницу, и ng-click не работает с этим ответом.В angularjs ngclick не работает от ответа ajax

Советуйте мне.

+0

Используйте компиляцию $, чтобы скомпилировать html в область $ scope. После этого нужно работать –

ответ

1

Вау, у меня есть ответ.

Угловое сценарий:

var myApp = angular.module('myApp', []); 
    myApp.controller('MyCtrl', function($scope) { 
      $scope.buttonHtml = "<a ng-click='samlpleMessage("sample123")'>click me</a>"; 
      $scope.samlpleMessage = function(message) { 
       alert(message); 
      } 

     }); 
    myApp.directive('compile', ['$compile', function ($compile) { 
     return function(scope, element, attrs) { 
      scope.$watch(
      function(scope) { 
       // watch the 'compile' expression for changes 
       return scope.$eval(attrs.compile); 
      }, 
      function(value) { 
       // when the 'compile' expression changes 
       // assign it into the current DOM 
       element.html(value); 

       // compile the new DOM and link it to the current 
       // scope. 
       // NOTE: we only compile .childNodes so that 
       // we don't get into infinite loop compiling ourselves 
       $compile(element.contents())(scope); 
      } 
     ); 
     }; 
    }]); 

Я добавив компилировать функцию в угловой сценарий. затем просмотрите страницу. Я добавил этот код.

<div ng-controller="MyCtrl"> 
    <div compile="buttonHtml"></div> 
</div> 

Решает эту проблему. Спасибо :)