0

我一直在阅读此处发布的教程/指南:http: //www.adobe.com/devnet/html5/articles/flame-on-a-beginners-guide-to-emberjs.html

这对我开始使用 Ember.js 有很大帮助,但是,我发现虽然他的示例中的代码适用于 Ember.js 版本 0.9.6,但它们不适用于 1.0 预版本。我的车把代码应该为每个项目生成一个列表项,App.labelController当使用较新版本时,它什么也不做。这是故意的改变吗?如果是这样,我现在如何达到同样的效果?

编辑:我实际上已将重大更改范围缩小到版本0.9.7.10.9.8之间

我有以下代码(供参考):

  /**************************
  * Application
  **************************/

  // Create the Ember.js application framework
  App = Em.Application.create();

  /**************************
  * Models
  **************************/

  // The "model" for the label object
  App.Label = Em.Object.extend({
    id: null,
    name: null,
    svg: null
  });

  /**************************
  * Views
  **************************/

  /**************************
  * Controllers
  **************************/

  // The "controller" for the label objects
  App.labelController = Em.ArrayController.create({
    content: [],
    init: function() {
      // Fake some data arriving from the server
      for (var i = 0; i < 10; i++)
      {
        var label = App.Label.create({
          id: i,
          name: 'Label 0' + i,
          svg: null
        });
        this.pushObject(label);
      }
    }
  });

以及以下 HTML:

  <div class="row-fluid">        
    <div class="span3">
      <ul class="nav nav-list">
        <script type="text/x-handlebars">
          {{#each App.labelController}}
            <li>
              <a href="#">{{name}}</a>
            </li>
          {{/each}}
        </script>
      </ul>
    </div>
    <div class="span9" id="drawContainer">
    </div>
  </div>
4

1 回答 1

1

您忘记调用this._super()App.labelController#init方法。

这是您的 JSFiddle:它不起作用

和 JSFiddle 的调用_super它的作品

于 2012-09-07T09:53:25.647 回答