除了通过JavaScript追加之外,还有其他方法可以将动态数据添加到jQuery移动页面中吗?
Is there any other way to add dynamic data into a jQuery Mobile Page than appending through JavaScript?
我最近开始使用jQuery Mobile。我和科尔多瓦一起使用它。首先,我正在使用SQLite数据库构建一个简单的混合应用程序。我已经通读了 JQM 的文档。从我在大多数示例中看到的情况来看,页面中的数据完全通过JavaScript输入,如下所示:
我有一个这样的页面:
<div data-role="page" id="home-rh">
<div data-role="header" data-theme="a" class="" data-id="header" data-position="fixed">
<h1>My Holiday Calendar</h1>
</div>
<div data-role="content" id="myContent">Hello 2</div>
<div data-role="footer" data-position="fixed" data-id="footer">
<div data-role="navbar">
<ul>
<li><a href="#home-all">All Holidays</a></li>
<li><a href="#" class="ui-btn-active">RH</a></li>
<li><a href="#">CH</a></li>
</ul>
</div>
</div>
</div>
我知道数据可以通过JavaScript动态添加,如下所示:
$("#myContent").append('****MY HTML goes here*****');
我的问题:
- 有没有更好的方法可以在 JQM 中动态地向我的页面添加内容,而不必像上面那样用 JavaScript 代码编写我的 HTML 并附加它?
任何其他良好做法也受到欢迎。
我已经阅读了许多论坛..但无法让我清醒过来。
编辑:
最初问了 3 个问题,但为了更具体地删除了其他两个问题。@Gajotres对所有三个问题都提供了意见。这是其他 2..
我们在 JQM 中通过 JavaScript 添加 HTML 好吗?如果我的 HTML 很大,这不是问题吗?
我几乎可以肯定,很多优秀的应用程序都是在JQuery Mobile上构建的。我想知道他们在这种情况下通常使用的一些模式。
谢谢
这些都是好问题,但你在这里使用了错误的框架。不要误会我的意思,像Omar一样,我正在帮助其他人解决jQuery Mobile问题,但你的问题超出了jQuery Mobile的范围。
-
有一个更好的方法,但jQuery Mobile将无法正常工作。你需要使用一些MVC框架,目前最好的是AngularJS(这是我的主观感觉;你也可以使用BackboneJS,KnockoutJS或EmberJS)。AngularJS指令将使这一步几乎无痛,它会自动完成所有操作,您根本不需要做任何事情。
只要你有一些数据源(模型),AngularJS就会自动附加页面数据。这是一个很好的方法,但你需要打开jQuery Mobile页面路由(它与AngularJS路由不兼容)。这样,您将丢失jQuery Mobile转换。
更好的是,AngularJS使用自己的模板引擎(模仿MustacheJS或HandlebarJS)。
-
jQuery Mobile已经有一个很大的DOM印记,你用其他内容填充它的方式并不重要。附加其他内容只需要几分之一秒(通常为 50 毫秒,我在 2 年前做了一些基准测试),但页面增强过程需要更多时间。所以这是这里最大的问题。
基本上,如何附加数据并不重要,更大的问题是附加了多少数据。
-
如果您想了解一个好的jQuery Mobile页面架构的秘密,请阅读这篇文章。
我的建议是,跳过jQuery Mobile,使用Kendo UI,Ionic Framework或Onsen UI。Kendo UI与jQuery Mobile非常相似,但它有自己的MVC框架。它甚至使用jQuery。或者你可以把它与AngularJS一起使用(他们最近也制作了这个版本)。
Ionic和Onsen UI是完全由AngularJS驱动的移动框架。它们非常快,但你需要花一些时间学习AngularJS。
你可以使用某种模板框架,如Handlebars.js或Jade。这是关于jQuery Mobile的Handlebars的教程
http://www.gajotres.net/using-jquery-mobile-with-handlebars/
- Knockout.JS,模板都是通过表单不添加数据的
- 如何使用Quickbase API和javascript检索、添加数据
- 添加数据属性及其值以使用纯javascript进行链接
- 向JavaScript对象文字添加数据
- GWT HashMap.put() 不向 HashMap 添加数据
- Meteor(JavaScript应用程序平台)|向用户帐户添加数据
- 从外部json代码向amcharts图表添加数据
- 无法在引导表中再次添加数据
- 如何在jQuery中的单个保存按钮上更新数据和添加数据
- 为selectize.js选项添加数据属性
- 动态添加数据时按数据属性查询JQuery选择器
- 弹出循环:添加数据时停止重复/三次应用/X
- 如何从javascript数组本身向chart-js添加数据
- ChartJS从字符串中添加数据
- JS-在JSON文件中插入、删除和添加数据
- 使用 Knockout.js 在文本区域中添加数据绑定和静态文本
- 动态添加数据时如何应用 ng 类 (?)
- 向 API 结果添加数据
- 如何使用 AngularJS 添加数据
- 使用 jQuery 添加数据属性