将数据传递到动态AngularJS控制器

Pass data into dynamic AngularJS controller

本文关键字:动态 AngularJS 控制器 数据      更新时间:2024-06-30

假设我们有一个容器,在其中添加动态html(带有angular指令)

<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

使用编译

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

但是上面的不起作用,因为控制器可能不可用。

做一些类似的事情:

并将$compile注入控制器。