javascript - Ember 中的 $.json 出现问题

标签 javascript json ember.js

我正在尝试将 $.getJSON 与 Ember.js 一起使用(基本上我试图避免 Ember-Data)。这是我的代码,

App = Ember.Application.Create();

App.Model = Ember.Object.extend({

});

App.Users = App.Model.extend({
    id: null,
    name: null
});


App.UsersRoute = Ember.Route.extend({
    model: function(){
        return App.Users.findAll();
    }
});

App.Users.reopenClass({
  findAll: function() {
    var result = Ember.ArrayProxy.create({content: []});

    $.getJSON('user.php', function(data) {
      $.each(data, function(i, row) {
        result.pushObject(App.Users.create(row));
      });
    });

    return result;
  }
});

这是我的 HTML:

<body>
        <script type="text/x-handlebars" data-template-name="MyTemplate">


            {{#each item in controller }}
            <tr><td>
             <p> {{item.name}}</p>
            </td></tr>
            {{/each}}

        </script>

        <script type="text/x-handlebars">
            <h1>Application Template</h1>
            {{outlet}}
        </script>

    </body>

我遇到的问题是这不是加载模型,我还需要 Controller 吗?或者我还缺少什么?

最佳答案

您只是在创建应用程序时出现了一个小拼写错误。

App = Ember.Application.create();

PS:你的代码看起来不错。仅缺少路由器映射,但我猜您故意将其排除在示例之外。

更新:

您应该为您的UsersRoute定义一个映射:

App.Router.map(function() {
  this.resource("users", { path: "/users" });
});

您的模板应相应命名为users:

<script type="text/x-handlebars" data-template-name="users">


            {{#each item in controller }}
            <tr><td>
             <p> {{item.name}}</p>
            </td></tr>
            {{/each}}

        </script>

最后,您应该在主应用程序模板中创建指向您的路线的链接:

<script type="text/x-handlebars">
  <h1>Application Template</h1>
  {{outlet}}
  {{#linkTo "users"}} Link to UsersRoute{{/linkTo}}
</script>

关于javascript - Ember 中的 $.json 出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18487878/

相关文章:

javascript - 错误: Error: No NgModule metadata found for 'AppComponent'

javascript - 使用 jQuery ajax 函数验证表单时未设置 $_POST 变量

java - Spring并返回大量Json数据

javascript - 无法在javascript中获取JSON数组的长度

ember.js - 如何将 Ember 数据与嵌套资源结合使用

javascript - 在 Facebook Canvas 内部重定向

javascript - 我如何让javascript循环等待循环的每次迭代完成,然后再开始下一次?

javascript - 打印一个数组?

javascript - 在 Ember 数组中,我如何通过索引值访问对象? Ember

javascript - 将 jquery-ui 与 ember.js 一起使用时更新 ArrayController 模型中的属性