我想点击按钮创建一个div:
div应该是这样的:<div class="my-blur"><div>
我这样做:
$scope.showFloatingActioButtons = function() {
var newEle = angular.element('<div class="my-blur"></div>');
$compile(newEle)($scope);
}
答案 0 :(得分:10)
你几乎就在那里......你只需要将该元素添加到DOM中。
angular.element('someselector-or-dom-element').append(newEle);
除非你对新元素有绑定或指令,否则没有理由编译它。
我添加了一个正在运行的示例,以帮助消除任何混淆。
var app = angular.module('my-app', []);
function MyCtrl(){}
MyCtrl.prototype = {
addElement:function(){
var newEle = angular.element("<div class='red'></div>");
var target = document.getElementById('target');
angular.element(target).append(newEle);
}
};
app.controller('myCtrl', MyCtrl);
.red{
margin: 10px;
height:20px;
background-color:red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.1/angular.min.js"></script>
<div ng-app="my-app" ng-controller="myCtrl as $ctrl">
<button type="button" ng-click="$ctrl.addElement()">Add Element</button>
<div id="target"></div>
</div>