2016-02-29 2 views
2

Мне нужно генерировать «div» динамически без помощи ng-repeat, а также разных данных в области.Как динамически создавать div без ng-repeat, angularjs?

<div attribute={{atrb}}>{{name}}</div> (<- dynamic div). 

Контроллер

$scope.GenerateDiv = function() 
{ 
$scope.name = "praveen"; 
$scope.atrb = "01"; 
} 
+1

По какой причине вы не хотите использовать 'ng-repeat', когда это явно лучшее и самое простое решение? – Erazihel

+1

вы можете создать директиву, в которой вы можете передавать данные и шаблон. В шаблоне вы можете поместить html –

ответ

2
You can do it like 

$scope.str = '' 
for (i = 0 ; i < arrayofdata ; i++){ 
    $scope.str += "<div>"+arrayofdata[0].ex+"</div>" 
} 


use Sanitize filter the following link contains log 
https://docs.angularjs.org/api/ngSanitize 

then create html like this 
<div> 
{{str | Sanitize}} 
</div> 
1

Если это один div вы используете ng-if для управления созданием этого:

<div attribute="{{atrb}}" ng-if="name">{{name}}</div> 

Когда условие не соблюдается, div не создается. Когда условие станет истинным, div будет добавлен в ваш DOM.

Если вам нужно несколько из них, сохраните параметры в массиве и используйте ng-repeat.

+0

, он не одинок, мне нужно сгенерировать несколько div – Pravee

+0

, что и для 'ng-repeat'. – Duncan