八字胡不呈金字塔形

2024-10-06 10:28:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用小胡子.js在我正在处理的Pyramid/sqlalchemy项目中渲染模板,但它们在浏览器中似乎没有渲染。我使用Chrome的firebug-lite和开发人员控制台进行调试。你知道吗

下面是我尝试使用的代码:

在顶部,在头部

<script type="text/javascript" src="/static/mustache.js"></script> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

在身体里

$(document).ready(function () { 

$(document.body).append('<div id =\"user\">hello here is some stuff <br /></div>');

var person = {
"title" : "Herr Doktor Professor", 
"firstname": "Don",
"lastname": "Johnson"
};


console.log(person);
var template = '<h1>Greetings, {{title}} {{firstname}} {{lastname}}</h1>';
console.log(template);
var user = Mustache.render(template, person);
console.log(user);
$('#user').append(user);
$(document.body).append(Mustache.render("{{title}} {{lastname}}", {title: "Doctor",     lastname: "Test"})); 
});

这是个傻瓜。。HTML呈现给我

<h1>Greetings,   </h1> 

现在。。。你知道吗

console.log(person);
var template = '<h1>Greetings, {{title}} {{firstname}} {{lastname}}</h1>';
console.log(template);

在控制台中

Object {title: "Herr Doktor Professor", firstname: "Don", lastname: "Johnson"} 
<h1>Greetings,   </h1> 

此外。。。你知道吗

var user = Mustache.render(template, person);
console.log(user);

告诉我这个:

<h1>Greetings,   </h1> 

最后一行的模板文字似乎什么也没做。你知道吗

所以这就很奇怪了。。在控制台本身中,如果我尝试以下操作:

var template = '<h1>Greetings, {{title}} {{firstname}} {{lastname}}</h1>';

我明白了:

>template
"<h1>Greetings, {{title}} {{firstname}} {{lastname}}</h1>"

太棒了!现在我要做的是:

>var person = {
   "title" : "Herr Doktor Professor", 
   "firstname": "Don",
   "lastname": "Johnson"
  };

>person
Object {title: "Herr Doktor Professor", firstname: "Don", lastname: "Johnson"}
>var user = Mustache.render(template, person);
>user
"<h1>Greetings, Herr Doktor Professor Don Johnson</h1>"

类似地,最后一行代码中的模板文本似乎工作得很好。你知道吗

为什么这在控制台中运行良好,而在浏览器中却完全不起作用?你知道吗


Tags: logtitlevartemplatefirstnameh1consoleperson
1条回答
网友
1楼 · 发布于 2024-10-06 10:28:48

看起来您的{{variable}}标记首先由服务器端模板引擎进行解释。你用哪一种?金贾2号?你知道吗

确认-在浏览器中查看页面源代码(Ctrl-U)并检查{{variable}}内容是否存在-很可能不存在。你知道吗

解决方案是将HTML页面中的内联JavaScript数量减到最少—只需几行配置就可以了,任何超出这些配置的内容都属于一个单独的文件。否则,您将从服务器端模板生成JavaScript,JavaScript将生成一个小胡子模板,该模板反过来生成HTML。。。只是有很多层

相关问题 更多 >