Пример AngularJS в backbone.js и / или knockout.js - PullRequest
9 голосов
/ 07 марта 2011

Я сравниваю эти фреймворки, чтобы выполнить некоторые вычисления на стороне клиента. Мне очень понравился пример на сайте 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>

<!-- 
  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 {
  padding: 0.3em;
}

Ответы [ 2 ]

21 голосов
/ 14 сентября 2011

Также посмотрите https://github.com/addyosmani/todomvc, в котором показано стандартное приложение TODO, написанное во всех популярных фреймворках.

4 голосов
/ 07 марта 2011

Здесь вы идете на knockoutjs>

http://jsfiddle.net/neebz/YbwzJ/

Я могу быть предвзятым, но это гораздо более структурно, чем угловой / позвоночник.

Если у вас есть какие-либо вопросы, дайте мне знать.

Есть несколько проверок NaN, которые, я думаю, вы могли бы взять самостоятельно.

...