防止 <script> 标签内的模板在页面模板中执行
Preventing templates inside <script> tags from being executed in page templates
我在我的应用程序中使用页面模板来保持美观和简洁,例如 {{> navbar}} 部分等。
我试图避免将每个模板都放在 index.html 中,但是将它们放置在使用它们的页面中可以做到这一点,这样当页面加载时,Template7 会尝试在标记和错误输出。
我是否遗漏了什么,或者我是否真的必须将每一个东西都放入我的索引文件?
您不必将所有内容都放入索引文件中 - 事实上,我的应用程序几乎没有任何内容。
您真正应该拥有的唯一东西是您始终需要展示或准备展示的东西(某种类型的主容器或菜单)。有时使用的或应该弹出的所有其他内容都是我用 javascript 创建的,如下所示:
function createRandomPage() {
// Main container
var randomPage = document.createElement('div');
randomPage.className = "mainPages";
var randomText = document.createElement('p');
randomText.className = "mainPagesText";
randomText.innerText = "Hello I'm a new page";
randomPage.appendChild(randomText);
// Destroys page when you move it off of the screen
// Doing this avoids unnecessary memory usage
randomPage.addEventListener('animationend', function() {
if (randomPage.style.animationName == "removeRandomPage") {
console.log("destroying random page");
document.body.removeChild(randomPage);
}
});
document.body.appendChild(randomPage);
}
最后我只是将我的模板放在一个目录中,每个文件一个,然后通过 AJAX 加载它们以将编译后的模板传递给回调。
function loadTemplate(name, callback) {
$.get('templates/' + name + '.tpl', function(template) {
callback(Template7.compile(template));
});
}
我在我的应用程序中使用页面模板来保持美观和简洁,例如 {{> navbar}} 部分等。
我试图避免将每个模板都放在 index.html 中,但是将它们放置在使用它们的页面中可以做到这一点,这样当页面加载时,Template7 会尝试在标记和错误输出。
我是否遗漏了什么,或者我是否真的必须将每一个东西都放入我的索引文件?
您不必将所有内容都放入索引文件中 - 事实上,我的应用程序几乎没有任何内容。
您真正应该拥有的唯一东西是您始终需要展示或准备展示的东西(某种类型的主容器或菜单)。有时使用的或应该弹出的所有其他内容都是我用 javascript 创建的,如下所示:
function createRandomPage() {
// Main container
var randomPage = document.createElement('div');
randomPage.className = "mainPages";
var randomText = document.createElement('p');
randomText.className = "mainPagesText";
randomText.innerText = "Hello I'm a new page";
randomPage.appendChild(randomText);
// Destroys page when you move it off of the screen
// Doing this avoids unnecessary memory usage
randomPage.addEventListener('animationend', function() {
if (randomPage.style.animationName == "removeRandomPage") {
console.log("destroying random page");
document.body.removeChild(randomPage);
}
});
document.body.appendChild(randomPage);
}
最后我只是将我的模板放在一个目录中,每个文件一个,然后通过 AJAX 加载它们以将编译后的模板传递给回调。
function loadTemplate(name, callback) {
$.get('templates/' + name + '.tpl', function(template) {
callback(Template7.compile(template));
});
}