Javascript 在angular js中追加新子项时未编译html

Javascript 在angular js中追加新子项时未编译html,javascript,angularjs,angularjs-compile,Javascript,Angularjs,Angularjs Compile,我试图动态插入一个节点,但是没有正确编译附加的html {{title}} {{d.id}}单击我 (函数(){ var-app=angular.module('app',[]); app.controller('appController',函数($scope,$compile){ $scope.title=“测试”; $scope.data=[{id:1,子项:[{name:'renjith'}]},{id:3},{id:4},{id:5},{id:6}]; $scope.click

我试图动态插入一个节点,但是没有正确编译附加的html


{{title}}
{{d.id}}单击我

(函数(){
var-app=angular.module('app',[]);
app.controller('appController',函数($scope,$compile){
$scope.title=“测试”;
$scope.data=[{id:1,子项:[{name:'renjith'}]},{id:3},{id:4},{id:5},{id:6}];
$scope.click=函数(数据,$element){
调试器;
var scope={id:“12”};
元素(document.querySelector(“#div”+data)).append($compile({d.id}}”)($scope.data));
}
});
})(); 

使用此函数可以使用.element(document.querySelector(“#div”+data)).append($compile(“{data[0].child[0].name}”)($scope));在ur代码中,似乎u正在传递一个数组,并且没有变量来访问该数组。因此,我只传入范围,可以通过“数据”属性访问数组。您应该将一个真正的
$scope
传递给
$compile
。不过,您可以创建一个新的隔离作用域。blessem谢谢,但当我单击下一个节点时,它会添加相同的数据。我想更新服务器中的数据。我无法在附加节点中获取ng重复数据d?您将只获取在编译模板中传递的数据。这里的id是可访问的
<body ng-app="app">
<div ng-controller="appController"> 
    {{tittle}}
   <div name="name" ng-repeat="d in data" ng-click="click(d.id)" id="div{{d.id}}">{{d.id}} click me</div>
</div>
(function () {
    var app = angular.module('app', []);
    app.controller('appController', function ($scope, $compile) {
        $scope.tittle = "test";
        $scope.data = [{ id: 1, child: [{name:'renjith'}] }, { id: 3 }, { id: 4 }, { id: 5 }, { id: 6 }];
        $scope.click = function (data, $element) {
            debugger;
            var scope = { id: "12" };
          angular.element(document.querySelector("#div" + data)).append($compile("<div ngTransclude>{{d.id}}</div>")($scope.data));
        }
    });
})();