我有 Jquery Mobile 工作,并发现让它工作的最佳方法是将它包含在 /client/ 目录中。所以,我的 /client/ 目录中有以下文件
jquery.js jquery-mobile.js jquery-mobile.css
然后我将它包含在我的 index.html 中
<script type="text/javascript">
$( document ).bind( "mobileinit", function( event, data ){
$.mobile.autoInitializePage = false;
}
</script>
我尝试创建一个智能包,但由于某种原因,加载顺序使 jquery 插件无效。我尝试只在 HEAD 中使用引用,但由于某种原因会使 jquery 插件无效。上面的工作,页面转换,视图渲染,我什至可以使用 Meteor auth 分支和渲染订阅。
我现在遇到的问题是,当 Meteor 用数据更新 DOM 并呈现它没有用 JQM 呈现的数据时。
For example, if I try to use a JQM Listview to display a Meteor subscription it just formats like a regular un-ordered list .
Here is the template code.
{{#each get_groups}}
<ul data-role="listview" data-theme="a">
<li>{{name}}</li>
</ul>
{{/each}}
Which just renders as bulleted items. If I use static data like the JQM tuts show it renders fine.
<ul data-role="listview" data-theme="a">
<li><a href="acura.html">Acura</a></li>
<li><a href="audi.html">Audi</a></li>
<li><a href="bmw.html">BMW</a></li>
</ul>
I am suspect I may need to call some kind of refresh, which means I would have to use observe on the collection subscriptions I imagine.
I am having the same problem with a custom login button. I use a template helper to return the Meteor.user().username and the button doesn't get formatted by JQM. If I don't use return the username the button of course renders find through JQM.
I also have the same problem when I try to access the Handlebars current user. If I try to do the following the publicPage will load.
{{#if currentUser}}
{{>privatePage}}
{{else}}
{{>publicPage}}
{{/if}}
一旦我登录 privatePage 快速闪烁,然后只是一个白屏。如果我删除对 currentUser 的引用,那么我可以登录并使用 JQM changePage 方法来加载 privatePage。
$.mobile.changePage("#privatePage");
我只有一个粗略的了解,但我认为这与 JQM 如何以及何时格式化数据以进行渲染与 Meteor 如何以及何时格式化数据以进行渲染有关。
有人对我如何让 JQM 与 Meteor 表现得很好有任何想法吗?或者我是否应该打扰并可能在 Meteor 旁边使用另一个移动前端?
谢谢斯蒂夫