gpt4 book ai didi

javascript - 为什么 Ember.js 指南中的这个示例不起作用?

转载 作者:行者123 更新时间:2023-11-29 21:44:12 27 4
gpt4 key购买 nike

我无法使 Ember.js 网站的指南部分的第二个代码示例正常工作。正在关注the Simple Routes example似乎没有按照生成的 Web 应用程序中的预期进行操作。

我已按照指南开始到该示例结束的所有步骤进行操作,准确地复制了代码,但有两个异常(exception)。首先,我对 routes/favorites.js 做了一个小改动,以解决我缺少服务器后端的问题,如下所示:

// import ajax from 'ic-ajax';

export default Ember.Route.extend({
model() {
// // the model is an Array of all of the posts
// // fetched from this url
// return ajax('/a/service/url/where/posts/live');
return [{ title: 'Test 1' }, { title: 'Test 2' }];
}
});

其次,我向 templates/application.hbs 添加了一个 {{outlet}} 以显示 templates/favorites.hbs:

<h1>{{appName}}</h1>
<h2>{{model.title}}</h2>

{{outlet}}

不幸的是,在运行 ember serve 时转到 /favorites 只会显示与 / 相同的内容:application 的内容。 hbs(没有favorites.hbs的内容)。我希望这会显示一个包含项目“测试 1”和“测试 2”的列表。

为什么这不起作用?我做错了什么吗?

当我在命令行上运行 ember -v 时,我得到了这个:

version: 1.13.6
node: 0.12.7
npm: 2.13.2
os: darwin x64

更新:这是templates/favorites.hbs:

<ul>
{{#each controller as |item|}}
<li>{{item.title}}</li>
{{/each}}
</ul>

这是/router.js:

var Router = Ember.Router.extend();

Router.map(function(){
this.route('favorites');
});

export default Router;

我从服务器收到弃用警告:

DEPRECATION: Using `{{controller}}` or any path based on it ('my-app/templates/favorites.hbs' @ L2:C0) has been deprecated.

我也遇到了四个这样的 JSHint 错误:

'Ember' is not defined.

最佳答案

好吧,这不是很明显。基本上 ember-cli 有一个禁用代理 Controller 的包:https://github.com/cibernox/ember-disable-proxy-controllers

这与:

DEPRECATION: Using {{controller}} or any path based on it ('my-app/templates/favorites.hbs' @ L2:C0) has been deprecated.

当您像指南建议的那样使用 ember-cli 时,您实际上无法遍历 Controller 。而是遍历 model(这就是你的数据没有被渲染的原因):

{{#each model as |item|}}
<li>{{item.title}}</li>
{{/each}}

摆脱:

'Ember' is not defined.

将其添加到正在引发的文件的顶部:

import Ember from 'ember';

关于javascript - 为什么 Ember.js 指南中的这个示例不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31778253/

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