我正在比较这些框架,以便在客户端进行一些计算.我真的很喜欢AngularJS网站上的例子.我想知道网站上的任何backbone.js或knockout.js专家是否会在各自的框架中重新创建该示例.
这是JSFiddle.
小提琴代码:
<table ng:init="invoice= {items:[{qty:10, description:'gadget', cost:9.95}]}">
<tr>
<th>Qty</th>
<th>Description</th>
<th>Cost</th>
<th>Total</th>
<th></th>
</tr>
<tr ng:repeat="item in invoice.items">
<td><input name="item.qty" value="1" size="4" ng:required ng:validate="integer"></td>
<td><input name="item.description"></td>
<td><input name="item.cost" value="0.00" ng:required ng:validate="number" size="6"></td>
<td>{{item.qty * item.cost | currency}}</td>
<td>[<a href ng:click="invoice.items.$remove(item)">X</a>]</td>
</tr>
<tr>
<td><a href ng:click="invoice.items.$add()">add item</a></td>
<td></td>
<th>Total:</th>
<td>{{invoice.items.$sum('qty*cost') | currency}}</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
<!--
Workaround for jsfiddle to pass in ng:autobind
http://doc.jsfiddle.net/basic/introduction.html#css
-->
<script src="http://code.angularjs.org/angular-0.9.10.min.js" ng:autobind></script>
<style>
table th {
font-weight: bold;
}
table td …Run Code Online (Sandbox Code Playgroud) 我们有一个类似于pinterest的网站,并计划将jquery汤重构为更有条理的东西.两个最有可能的候选人是AngularJS和Backbone + Marionette.该网站是用户生成的,主要是面向消费的(典型的90/9/1规则),用户可以对帖子进行喜欢,收藏和评论.从Feed中我们打开一个灯箱,查看有关帖子的更多详细信息,包括评论,相关帖子,类似于pinterest.
我们偶尔使用骨干并熟悉这个想法,但是在样板上推迟了.我认为木偶会对此有很大的帮助,但我们愿意更加彻底地改变方向(例如Angular),如果它能长期发挥作用的话.
要求:
这些要求与我对Angular的担忧有关:
1)通过模板附加页面进行渲染时,初始页面加载是静态的是否可能/有问题.
2)为页面的不同部分提供多个数据源是有问题的 - 例如,主要帖子部分来自嵌入式json数据和来自"查看更多"的feed,而附加细节来自不同的ajax调用.
3)虽然双向绑定很酷 - 我担心在我们的情况下它可能是负面的,因为渲染的项目数量.我们需要双向绑定的元素数量相对较少.帖子如:
关注我的用例.我们可以轻松拥有数百个帖子,每个帖子有1-2个细节.双向绑定是否可以"禁用",我知道哪些字段/元素不会改变?
将视口外部的元素卸载到同一个内存是否正常/可能?这也与移动方向有关,因为内存更受关注.
AngularJS会在我们的用例中运行良好吗?有什么技巧/提示可以帮助吗?
我是Rails开发人员的红宝石,他只是最近才开始学习除jquery之外的javascript技术(Angular和React)。我阅读了其中的一些比较文章,以了解人们为什么使用不同的javascript框架和库,但是我仍然很难弄清它们的重要性(很可能是由于我缺乏对网络工作原理的了解?)。我在使用Angular和React时发现的一件事是,我不需要像以前使用jquery一样单独处理ajax。另外,我似乎确实很欣赏React的语法和组件。
无论如何,请帮助我理解为什么我应该使用Angular或React而不是jQuery。有什么我可以做的事,而另一件事不能做?有些比其他快吗?只是风格和喜好问题吗?
angularjs ×3
javascript ×2
backbone.js ×1
frontend ×1
knockout.js ×1
mobile ×1
performance ×1
reactjs ×1