gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 18:24:55 24 4
gpt4 key购买 nike

我正在尝试将 $.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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com