我的应用程序应该是单页面应用程序,我有以下代码可以正常工作:
home.php:
<div id="container">
</div>
accordion.php:
//Click functions: load content
$('#parents').click(function(){
//Load parent in container
$('#container').load('http://www.blabla.com/entities/parents/parents.php');
});
parents.php:
<div class="entity_wrapper">
Some divs and selectors
</div>
<script type="text/javascript">
$(document).ready(function(){
//Some jQuery / javascript
});
</script>
因此内容加载正常,而动态加载的脚本也可以正常运行 我重复应用这个系统,它继续顺利运作 我已经看到SPA上有很多可用的框架(例如backbone.js),但我不明白为什么我需要它们才能正常工作。
来自backbone.js网站:
在处理涉及大量JavaScript的Web应用程序时, 您学习的第一件事就是停止将数据绑定到 DOM。创建最终的JavaScript应用程序非常容易 作为纠结的jQuery选择器和回调堆,所有尝试 疯狂地保持HTML UI和JavaScript之间的数据同步 逻辑和服务器上的数据库。对于富客户端 应用程序,更有条理的方法通常是有帮助的。
好吧,我完全没有感觉到他正在经历他们提到的东西 每页添加javascript对我来说非常有用 它们是具有明确范围的html容器,javascript只与该部分相关 更重要的是,对我来说,前端不会那么,大多数逻辑是基于对外部PHP脚本的Ajax调用来管理的。对于某些功能,有时js可能会更加扩展,但所有功能在不到一秒的时间内就可以平滑加载。
如果您认为这是错误的编码,请告诉我为什么我不能这样做,更重要的是,我应该采用的替代方案是什么。目前,我真的没有理由为什么我会改变这种方法,因为它只是运作得很好。
我有点坚持这个问题,因为它让我感到恶心,因为它似乎太容易成为现实。为什么人们会经历艰难时期,如果它像这样容易......
根据Juhana的评论编辑问题:
我觉得我的项目不适合Backbone的用例。我应该用它吗?
答案 0 :(得分:1)
这完全取决于您的应用程序可扩展性,易维护性和性能。看看你的代码,你使用了一些旧的(并且被弃用的)jQuery功能,所以我认为它是在很久以前编写的。
知道单个页面应用程序不会以数据加载结束,还包含:
在过去的一年里,我一直致力于一个不使用单一框架的分析平台 - 我们必须自己实现一切(并且非常成功)。它具有可扩展性,健壮性,易于理解性和性能优势,但使用角度,余烬或挖空可以为我们节省大量时间,因为大多数维护都是关于我们各种核心功能的抽象级别(解析数据,解析它) ,跟踪它等。)
它也非常适合测试,当你的系统变大时,这是一个巨大的好处,因为在我看来,测试最重要的方面是基本上它允许的依赖性跟踪,你可以不再担心做某事了 - 并破坏看似无关的东西
我认为虽然客户端框架有一定的学习曲线,有些比其他框架更快 - 但是值得花些时间,因为它会带走一些必须在他或她的开发过程中不断实现的例程。