2

我正在尝试使用 jQuery 插入一个 div,并在该 div 中插入需要呈现的角度内容。但是单击按钮时不会呈现。

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

$("button").click(function () {
   myVar.appendTo(".myOtherDiv");
});

appendTo 工作正常,但我没有给我一份香蕉清单{{bananas}}

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

4

1 回答 1

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>
function MyCtrl($scope) {
    $scope.foo = "I'm foo!";
    $scope.lines = [];

    $scope.addLine = function () {
        $scope.lines.push($scope.lines.length);
    };
}

Fiddle

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

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

于 2013-08-07T15:25:21.803 回答