2012-09-28 130 views
0

我使用jQuery Mobile的模板创建的对象从jQuery的TMPL()返回空字符串

我传递具有用户名,注释和图像对象的列表链接列表。 模板是

<script id="commentTemplate" type="text/x-jquery-tmpl"> 
<li> 
    <a href="http://mydomain/sub/sub"> 
     <img src="{{= url }}" alt="{{= username }}"/> 

     <p>{{= username }} - {{= usercomment }}</p> 
    </a> 
</li> 
</script> 

现在,当我去,因为他们的js调用使用来自其他页面的链接此页面的页面,模板返回空字符串,但是当我去的网页键入的网址模板的浏览器地址栏就像魅力一样。让我举一个例子:

  1. 我在 http://www.mh.mh/home页面,然后点击一个链接转到http://www.mh.mh/comments,模板返回所有评论空字符串。
  2. 我在浏览器中输入http://www.mh.mh/comments,然后按回车,模板返回正确的值并创建注释的链接。

任何解释为什么会发生这种情况?

+0

你的代码在哪里定义你的模板? – Romain

+0

在从主布局页面调用的页面中。 – muhamadto

回答

0

当更改页面时,jquery mobile将仅加载目标页面的主体,并忽略标题。这意味着您要在网页中使用的任何代码都必须加载到您的第一页中。 有两个直接后果: - 第一页的标题应包含后续页面标题中的所有信息(例如链接到CSS和js文件) - 可能是第一页的任何页面(想到直接的URL输入,甚至刷新)应该有这样一个标头

+0

“更改页面时,jquery mobile只会加载目标页面的主体”,我将模板导入主布局页面的主体中。但是,您的评论让我想到如果将模板直接导入到所需页面而不是母版页面,该怎么办?我试了一下,它的工作!这现在解决了我的问题,但我不明白为什么它在母版页中不起作用。你有什么建议吗? – muhamadto

+0

您能否详细说明您定义模板的位置(无论哪个html页面,或哪个.js以及从哪个链接链接),并调用$ .tmpl()? – Romain