如何使角度读取jQuery插入元素

Sim*_*ana 2 jquery angularjs

我正在尝试使用jQuery插入div,并在div中使用需要呈现的角度内容.但单击按钮时它不会被渲染.

myVar = $("<div class="a"><p ng-repeat="banana in bananas">{{banana}}</p></div>");

$("button").click(function () {
   myVar.appendTo(".myOtherDiv");
});
Run Code Online (Sandbox Code Playgroud)

appendTo工作正常,但没有给我一个我得到的香蕉列表 {{bananas}}

当jQuery将它放在DOM上时,有没有办法让Angular成为元素?

Bla*_*ole 5

在使用AngularJS时,必须绝对避免使用jQuery.例如,在您的示例中,根本不需要:

<div ng-app ng-controller="MyCtrl">
    <button ng-click="addLine()">Add a line</button>
    <div ng-repeat="line in lines">
        I'm a new line. {{foo}}
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)
function MyCtrl($scope) {
    $scope.foo = "I'm foo!";
    $scope.lines = [];

    $scope.addLine = function () {
        $scope.lines.push($scope.lines.length);
    };
}
Run Code Online (Sandbox Code Playgroud)

Fiddle

如果你发现(正确地)创建一个数组只是为了循环太重,你可以阅读这个问题.

作为最后的解决方案,只有在这种情况下,您才能使用$compile(参见文档).