2014-02-08 2 views
0

Есть ли способ использовать только часть файла в качестве директивы templateUrl? Например, если у меня есть файлИспользуйте часть HTML-файла в шаблонеUrl

<input type="text" data-name="first-name" /> 

<input type="text" data-name="last-name" /> 

<input type="text" data-name="address" /> 

etc. 

есть способ для Углового вытащить только «First Name» input тега или только «фамилию» input тега, в отличие от использования всего файла?

Я хочу иметь HTML-содержимое нескольких директив в виде одного HTML-файла, поскольку наличие только одной строки кода кажется пустой тратой файла (философия UNIX имеет свои пределы). Кроме того, я мог бы объединить эти файлы templateUrl как часть моего процесса миниатюризации, и я хочу знать, что Angular не будет использовать весь файл для каждой директивы.

ответ

1

Невозможно использовать только часть шаблона url; вся вещь втягивается и компилируется.

Для коротких шаблонов, я обнаружил, что при подкладке шаблон с директивой может быть лучшей практикой. Сокращение переключения контекста, когда это всего лишь маленький html, имеет тенденцию его стоить, imo.

Это может быть сделано путем изменения тега из

templateUrl: 'foo.html' 

в

template: '<input type="text" data-name="address" />' 

Надежда, что помогает!

+0

Ничего себе, что отстой, особенно для минимизации. Как обычно, Angular не полностью преуспевает в своем стремлении сделать модулем HTML/JS. Я знал о 'template', но я думаю, что могут быть моменты, когда HTML слишком велик, чтобы включить определение директивы, но слишком мало для собственного файла. – trysis

+0

Вау, я только понял, что на мой вопрос уже был дан ответ: https://stackoverflow.com/questions/21130915/angularjs-directives-without-html-in-the-code?rq=1: P Не уверен, что он считается дубликатом , хотя, поскольку он имеет больший охват, чем мой. – trysis

0

У AngularUI есть эта функция. В его пакете UI-Utils существует директива ui-include. Это точно так же, как директива ng-include, за исключением того, что она позволяет добавить дополнительный атрибут fragment, который включает в себя часть страницы, а не целую страницу.

Пример кода на странице AngularUI UI-Utils демонстрирует довольно хорошо:

<ui-include src="'my/url/to/partial/file'" fragment="'#id-to-fragment'"></ui-include> 
<!-- Don't forget to quote string literals! --> 
<!-- Don't forget to include jQuery if you need full selector support! --> 

Конечно, вы, вероятно, в том числе JQuery уже. :)

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