javascript
  • angularjs
  • 2013-12-11 2 views 0 likes 
    0

    Давайте представим, что мы имеем контейнер в котором мы добавим динамический HTML (с angular директивами)передачи данных в контроллер динамического AngularJS

    <div id="divContent"></div> 
    
    document.getElementById("divContent").innerHTML = '<div id="divTest" ng-controller="TestCtrl">{{test}}</div>'; 
    

    Вот код некоторого фиктивного контроллера:

    angular.module("TestApp", []).controller("TestCtrl", function($scope) 
                     { 
                      $scope.test = "a"; 
                     }); 
    

    Для инициализации Angular мы будем использовать bootstrap:

    angular.bootstrap(document.getElementById("divTest"), ["TestApp"]); 
    

    Итак, вопрос заключается в том, как пройти test параметр, который отображается на дисплее b вместо a?

    Вот jsfiddle

    ответ

    0

    Использование compile

    $("#divContent").html(
         $compile(
         "<div id='divTest'>{{test}}</div>" 
        )(scope) 
    ); 
    

    Но выше не будет работать, потому что контроллер не доступен, вероятно.

    ли что-то вроде:

    и впрыснуть $ компилировать к контроллеру.

    Смежные вопросы