我一直無法從$ templateCache加載模板。
如何我把模板$ templateCache:
var app = angular.module('anglober', ['anglober.controllers', 'anglober.services', 'anglober.directives']).run(function ($templateCache, $http) {
$http.get('anglober/js/invitation/invitationModal.tpl.html', {cache: $templateCache});
$http.get('anglober/js/modal/ajaxModal.tpl.html', {cache: $templateCache});
$http.get('anglober/js/ajaxLoader/ajaxLoader.tpl.html', {cache: $templateCache});
$http.get('anglober/js/modal/modalContent.tpl.html', {cache: $templateCache});
$http.get('anglober/js/modal/simpleModal.tpl.html', {cache: $templateCache});
$http.get('anglober/js/mog/topMogs.tpl.html', {cache: $templateCache});
我如何加載它們:
angular.module('anglober.directives').directive('topMogs', ['$templateCache', function ($templateCache) {
return {
restrict : 'E',
template: $templateCache.get('topMogs.tpl.html')
//Tried this too
// templateUrl: 'topMogs.tpl.html'
};
}]);
在我的網絡瀏覽器選項卡上,我可以看到被加載在頁面加載的模板。
One of template or templateUrl options is required.
我在做什麼錯:
但是叫我的指令時,我得到了下面的錯誤?
感謝
你應該提到完整的網址'anglober/js/mog/topMogs.tpl.html' –
你正在爲自己創造額外的工作,並且什麼都不做。從'run'方法中刪除所有'$ http.get',並讓'$ templateCache'完成它的工作。在你的指令中使用'templateUrl'。你在做什麼是一件很奇怪的事情。 – cgTag
感謝您的回答。我想要做的是通過只放置模板文件名(無路徑)訪問我的模塊中的模板文件。我應該在模塊中放置模板文件的絕對路徑嗎?我發現有點奇怪,必須把這樣的完整路徑:templateUrl:pathToModule/templateFile,而不是templateUrl:templateFile,因爲我把我的模板文件放在與我的模塊js文件相同的目錄中。 – Komo