我正试图让这个命令起作用......
var template = $templateCache.get('nameOfTemplate.html');
但无论我做什么,我都会得到一个未定义的结果。
var test = $templateCache.get('./templateBase.html')
console.log("TEMPLATE: " + test)
var test = $templateCache.get('/templateBase.html')
console.log("TEMPLATE: " + test)
var test = $templateCache.get('templateBase.html')
console.log("TEMPLATE: " + test)
var test = $templateCache.get('index.html')
console.log("TEMPLATE: " + test)
var test = $templateCache.get('app.js')
console.log("TEMPLATE: " + test)
但我得到的只是......
TEMPLATE: undefined
TEMPLATE: undefined
TEMPLATE: undefined
TEMPLATE: undefined
TEMPLATE: undefined
这是因为这只适用于URL'
我的templateBase.html
与我的控制器位于同一文件夹中。
我想要的只是阅读内容并放入变量。
我刚试过
test = require('./templateBase.html');
console.log("require: " + test)
有效,但require
在整个应用程序加载时读取模板,因为我有很多模板,这不是一个很好的解决方案。
答案 0 :(得分:2)
您可以使用$templateCache.get()
加载已缓存的项目。我保证在您尝试加载模板时不会缓存模板 - >这导致undefined
。你说:All I want is to read the content and put into a variable.
。您可以使用$http
加载文件,例如 demo fiddle :
$http.get('./template.en.html').then(function (result) {
var data = result.data;
console.log(data);
});
此示例还会将您的模板存储在$templateCache
中以供日后使用。
$http.get('./template.en.html').then(function (result) {
//put template into cache
$templateCache.put('myTemplateName', result.data);
//fetch result and log it
var data = result.data;
console.log(data);
});
有关$templateCache documentation website上的模板缓存的更多详细信息。