2015-01-14 2 views
-2

Я начинаю с Angular, и хочу получить HTML-шаблон из файла с помощью JavaScript, я не хочу использовать ng-include или любую другую директиву, поскольку у меня на самом деле нет html для воспроизведения с, у меня есть только файл JavaScript с данными, полученными от службы REST, и мне нужно отправить вывод HTML на страницу, в которой я есть, поэтому у меня нет действительно существующих элементов в DOM.Извлечение HTML в Angular

Так как я могу получить HTML из другого файла и использовать его только с JavaScript, с угловым способом?

+0

Ваш отдых генерирует HTML-выход? если да, то почему вы не хотите использовать угловые директивы? директивы - сила угловых. – micronyks

+0

Я использую его внутри SharePoint, все, что у меня есть, является ссылкой со страницы на файл JavaScript, поэтому я не могу просто добавить HTML на страницу, мне нужно извлечь html с другой страницы и сделать вывод с помощью JavaScript. –

+0

Теперь я смущаюсь. $ compile также отлично работает, как было предложено. Я бы попросил вас поставить код, чтобы мы могли помочь вам. – micronyks

ответ

0

Я думаю, вы должны использовать директиву, и, как указывает Джеймс, используйте компиляцию $. Вы можете посмотреть некоторый документ https://docs.angularjs.org/guide/compiler

Если по каким-либо причинам вы не хотите, чтобы сделать это, я могу положить Exemple из действительно BAD углового кода, который я использую на моем приложении, чтобы показать CGU (в HTML из другой домен).

Обратите внимание, что мы используем jQuery, и это не очень хорошо в Угловом мире.

$http({ 
    method: 'GET', 
    url: 'URL_HTML' 
    }).success(function (data, status, headers, config) { 
    var html_from_server = $.parseHTML(data); 
    data = $(html_from_server.find('#container'));//look for the content of an ID. 
    $('#content_cgu').html(data.html());// get an element on our page and replace the html content 
    }); 
0

Посмотрите на $compile - похоже, что это то, что вы ищете. Вы можете взять html из своего сервиса и скомпилировать его для работы в вашем приложении AngularJS.

+0

Спасибо Джеймсу, но прежде чем я сделаю компиляцию, как мне получить HTML в Angular? Есть ли какой-нибудь пример? –

+0

Вы можете использовать $ http для вытягивания внешних данных в Angular: https://docs.angularjs.org/api/ng/service/$http - есть несколько хороших примеров в Интернете - возможно, это не то, что вы делаете , но должно быть достаточно, чтобы начать. –

0

Позвольте мне перефразировать. Как получить HTML с другой страницы и сохранить его в переменной внутри моего JS-файла, используя Angular? Что я делаю? var returnHTML = ???

Непосредственное решение:

var returnedHTML; 
var url = 'http://www.google.com'; 
$http.get(url, { cache: $templateCache }).then(function(result){ 
    returnedHTML = result.data; 
}); 
0

я просто дело с этим сегодня. Я думаю, что ваш вопрос был неправильно понят.

Вы просто включить нг-включать в свой код так:

ng-include="'https://en.wikipedia.org/wiki/Special:Random'" 

углового будет отображать URL, как непосредственно на странице.

Смежные вопросы