gpt4 book ai didi

angularjs - 如何将一些 Angular 元素附加到 div 而不在 Controller 中进行 dom 操作?

转载 作者:行者123 更新时间:2023-12-04 17:49:37 26 4
gpt4 key购买 nike

有一个带有一些 id 的 div 说 mainDiv。然后是三个按钮。单击每个按钮会将具有不同指令的不同 Angular 元素附加到 mainDiv。

<div id="mainDiv"></div>
<button ng-click="appendSomeElement1ToMainDiv()"></button>
<button ng-click="appendSomeElement2ToMainDiv()"></button>
<button ng-click="appendSomeElement3ToMainDiv()"></button>

如何在不使用 Controller 中的 dom 操作的情况下实现这一点。它太诱人了
$scope.appendSomeElement1ToMainDiv = function () {
var element1 = angular.element("<p>I am a new element</p>");
$("#mainDiv").append(element1);
};

最佳答案

Directives是您正在寻找的。你可以这样做:

myApp.directive('mainArea', function() {
return {
restrict: "E",
template: "<div>"+
"<div id='mainDiv'> </div>" +
"<button data-ng-click='append()'>Add</button>" +
"</div>",
controller: function($scope, $element, $attrs) {
$scope.append = function() {
var p = angular.element("<p />");
p.text("Appended");
$element.find("div").append(p);
}
}
}
});

在你的 HMTL 中:
<main-area></main-area>

Working Fiddle

如果你的元素是一个指令,你应该看看 $compile

关于angularjs - 如何将一些 Angular 元素附加到 div 而不在 Controller 中进行 dom 操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20444912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com