0

Я хочу использовать директиву ng-include из кода. Что-то вродеКак использовать ng-include из кода?

var html = '<div ng-include="\'myTemplate.html\'"></div>'; 
$compile(html)($scope); 
angular.element(document.getElementById('myDiv')).append(html); 

но, этот не работает должным образом. Может ли кто-нибудь объяснить, как достичь этого правильно?

+0

Вы добавили скрипт 'myTemplate.html' в элемент ng-app? Или 'myTemplate.html' правильный URL-адрес, где шаблон может быть выбран? – Raulucco

+0

Это правильный url. – Teja

+0

Итак, вы можете увидеть запрос '// host/path/myTemplate.html' на консоли браузера? – Raulucco

ответ

0

Если вы хотите включить HTML в веб-страницы, вы должны использовать нг-Бинг-HTML вместо:

HTML

<div id="myDiv" ng-bind-html="template"></div> 

JS

.controller('name', function($scope, $http, $sce, ...) { 
    $http.get('myTemplate.html').success(function(template) { 
     $scope.template = $sce.trustAsHtml(template); 
    }); 
}); 
0

Изменить порядок ваших заявлений.

var html = '<div id="dynamicID" ng-include="\'myTemplate.html\'"></div>'; 
var ngEl = angular.element(document.getElementById('myDiv')); 
ngEl.append(html); 
$compile(ngEl.find('#dynamicID'))($scope); 
+0

Thanku @Raulucco. Это сработало.. :) – Teja