我是 EmberJS 的新手,正在学习教程。我正在教程中开始讨论创建服务并将它们注入(inject)到 Controller 中(我不能 100% 确定它是否是 Controller ,但我来自 AngularJS,它看起来非常相似)。
在我的 Ember 项目的终端中,我运行命令 ember g 服务身份验证
。我可以看到该服务是在我的应用程序的 services 目录中的文件 authentication.js
中创建的。然而,当我尝试将其注入(inject) Controller 时,当我在本地提供应用程序时,我在浏览器中遇到了这个问题,
Error: Assertion Failed: Attempting to inject an unknown injection: 'service:authentication
这是否是因为我使用的 Ember 版本比教程中的版本更新,并且现在有不同的方式来注入(inject)服务?我这么问是因为这是教程中服务的语法
import ember from 'ember'
export default Ember.Service.extend({
records: []
});
这是我现在所拥有的语法,是在使用ember new
构建项目时自动创建的
import Service from '@ember/service';
export default Service.extend({
records: []
});
org.js“服务注入(inject)位置”
import Route from '@ember/routing/route';
export default Route.extend({
authentication: Ember.inject.service(),
setupController(controller) {
this._super(...arguments);
}
});
最佳答案
感谢大家提供有关 EmberJS 的所有信息。然而,事实证明我所需要做的就是重新启动我的本地服务器 -.-
关于ember.js - Ember 生成的服务在注入(inject)时引发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47047771/