2017-02-06 4 views
0

Я не могу понять, как добавить динамический контент после нажатия на мой HTML с файлом шаблона и некоторым контроллером.Угловой динамический элемент с шаблоном и контроллером

Я хочу что-то вроде:

element.click(function(){ 
    element2.html(templateUrl, controller); 
}); 

Угловая 1.5.8

+0

Я рекомендую вам прочитать [это] (HTTP: // StackOverflow .com/questions/14994391/thinking-in-angularjs-if-i-have-a-jquery-background). Затем, в отношении вашей проблемы, лучше всего использовать модуль [ngRoute] (https://docs.angularjs.org/api/ngRoute): см. Этот [пример] (https://docs.angularjs.org/api/ ngRoute/услуги/$ маршрута # пример). – SinDeus

ответ

0

вы можете создать директиву с контроллером и шаблон, скомпилировать его и чем добавить его в DOM.

1

Хотя вопрос не в том, чтобы очистить, я чувствую, что вы хотите сделать html динамически. Есть два решения для этого:

  1. угловой маршрутизации: Это в основном используется, если вы хотите, чтобы перейти на другие страницы вашего приложения, но вы также хотите, чтобы приложение быть SPA (Single Application Page) , без перезагрузки страницы, вы можете использовать модуль ngRoute. Содержание для этого довольно легко доступно повсюду. Вы можете взглянуть на них.
  2. пользовательские директивы: Вы можете попробовать написать директиву, которая будет оказывать HTML-на зависимости от того, событие, которое вы хотите:

    .directive("customTemplateLoad", function($http, $templateCache, $compile) { 
    return { 
        restrict: 'A', 
        link: function(scope, element, attr, controller){ 
        var template; 
        // Some logic to get template, perhaps pass it in the directive itself 
        var templatePath = '/templates/'+template; 
        $http.get(templatePath, { cache: $templateCache }).success(function(response) { 
         var contents = element.html(response).contents(); 
         $compile(contents)(scope); 
        }); 
        } 
    };}) 
    
+0

У меня уже есть приложение SPA с угловыми маршрутами. У меня есть некоторое представление для оповещений модели, и я хочу добавить форму оповещения после всех предупреждений. –

+0

Возможно, что-то вроде do document.write может помочь. Вы можете найти это (http://stackoverflow.com/questions/19637312/is-there-an-angular-way-of-printing-a-div-from-a-html-page) полезным. Что бы это могло сделать, если у вас есть документ html, готовый он может вставить этот html для вас, это поможет? –

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