如何在具有某个类的角度中动态创建div?

时间:2017-01-20 13:26:17

标签: angularjs

我想点击按钮创建一个div:

div应该是这样的:

<div class="my-blur"><div>

我这样做:

$scope.showFloatingActioButtons = function() {
        var newEle = angular.element('<div class="my-blur"></div>');
        $compile(newEle)($scope);
}

1 个答案:

答案 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>