2015-06-17 3 views
0

Я хочу отображать файлы шаблонов (просмотр + контроллер) и несколько строк html вместе в одном теге. - Так что у меня есть несколько строк, какAngularJS - рендеринг нескольких строк и HTML-файлов в одном теге

<p>some text</p> 

и HTML-файлов + контроллер как

template.html + template.controller.js 

Я хочу сделать строки и template.html в один тег.

Я уже связала HTML строк и я в состоянии вынести их с

<div ng-bind-html="template" ..></div> 

Могу ли я сериализации HTML-файлы и сделать его в нг-Bind-HTML тоже? Эти файлы имеют собственные контроллеры:

<div ng-controller="sampleCtrl"> 

Они потеряли бы функциональность?

ПРИМЕЧАНИЕ: порядок элементов важен! Например, я хочу отобразить строку, затем содержимое файла, а затем снова строку.

Большое спасибо!

+1

Почему бы не использовать ngInclude? – Wawy

+0

Потому что я хочу добавить строки типа «

test

», а ng-include предназначен только для URL-адресов. –

+0

Не уверен, но я думаю, что вам нужны директивы, сочетающие контроллеры и шаблоны ... https://docs.angularjs.org/guide/directive – mattanja

ответ

2

Вы должны использовать директивы. Это позволит вам загрузить файл html с помощью связанного js-файла. Вы можете установить scope.someText в директиве и вызвать ее в представлении, например.

<p>{{someText}}</p> 

Директива:

var app = angular.module('myApp'); 

app.directive('someTextDirective', function(){ 
    return{ 
     restrict: 'E', 
     templateUrl: 'path/to/html/file.html', 
     link:function(scope){ 
       scope.someText = 'blah'; 
     } 
    } 
}); 

Просто вызовите директиву в вашем HTML:

<some-text-directive></some-text-directive> 

Надеется, что это помогает. Если я не был ясен, дайте мне знать, и я сделаю все возможное, чтобы уточнить.

+0

Большое спасибо! Возможно ли это также с несколькими шаблонами? Например, если я хочу присоединиться к двум строкам с двумя шаблонами? –

+0

oke, может быть, я могу комбинировать строки и шаблоны в шаблоне директивы. В шаблоне директивы я могу ng-повторить над ng-include, а также отобразить строки. –

+0

Возможно. Вместо templateUrl вы также можете использовать шаблон. Шаблон просто берет html-код вместо того, чтобы указывать на файл, например. template: '

{{someText}}

' – BobDoleForPresident

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

  • Нет связанных вопросов^_^