Я пытался добавить HTML с помощью AngularJS.Но я хочу добавить его, в частности, div
, и хочу использовать apply для этого Scope, а не целое document.body
, как показано в коде ниже.Как это сделать?
function addDiv() {
var $newDiv = $('<div ng-controller="TestCtrl">{{demo}}</div>');
$(document.body).append($newDiv);
angular.element(document).injector().invoke(function ($compile, $rootScope)
{
$rootScope.$apply(function() {
var scope = angular.element($newDiv).scope();
$compile($newDiv)(scope);
});});}
angular.module('app', []).controller('TestCtrl', function($scope) {
$scope.demo = 'hello world';
});
Я предполагаю, что $(document.body).append($newDiv);
следует заменить на $("#divtoappend").append($newDiv);