2016-06-19 1 views

ответ

11

Кэш-память шаблона использует ключ для идентификации кешированных элементов, поэтому вы можете использовать этот ключ.

$templateCache.put('MY KEY', 'Cached content'); 

И в HTML:

<ng-include src="'MY KEY'"></ng-include> 

Посмотри на AngularJS документы для $templateCache.

+0

Nice простой пример ключей кэша шаблона – cnorthfield

+1

Этот ответ помог мне лучше понять, как работает шаблонCache и что ключ не должен выглядеть как имя файла. –

+0

Как установить URL-адрес шаблона вместо прямого добавления HTML в функцию put? –

3

Есть два способа:

В разметке:

Укажите ваш шаблон в качестве тега сценария:

<script type="text/ng-template" id="templateId.html"> 
    <p>This is the content of the template</p> 
</script> 

(это должно быть потомком вашего ng-app, другими словами, он должен указывается где-то внутри разметки ng-app)

Это будет автоматически кэшировать шаблон.

В коде:

var myApp = angular.module('myApp', []); 
myApp.run(function($templateCache) { 
    $templateCache.put('templateId.html', 'This is the content of the template'); 
}); 

В обоих случаях вы можете получить кэшированные шаблон:

<div ng-include=" 'templateId.html' "></div> 

или

$templateCache.get('templateId.html')