如何将控制器绑定到加载的html(Angularjs)

时间:2016-05-19 11:49:20

标签: html angularjs load

请查看此Link

这是我的问题如何将控制器绑定到Page2Controller以打印

中的某些内容
{{wat}}

1 个答案:

答案 0 :(得分:1)

简单的方法是在控制器中使用$compile

  

将HTML字符串或DOM编译到模板中并生成模板函数,然后可以将其用于将范围和模板链接在一起。

var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope, $http, $sce, $compile) {
  $scope.wat = 'blablalba';
  $http.get("page2.html").then(function (response) {
    var str = '<div ng-controller="Page2Controller"> {{wat}} <div style="background: red; height: 50px; width: 50px"></div> </div>';
    var cont = $compile(response.data)($scope);
    angular.element(document.querySelector('p')).append(cont);
  });
});

app.controller('Page2Controller', function($scope) {

});
<div ng-app="myApp" ng-controller="myCtrl">
  <p></p>
</div>

http://plnkr.co/edit/cOu69mPhfrvaA1buDUjT?p=preview

更好的方法是使用如下答案中的指令:Compiling dynamic HTML strings from database