ember.js 实作数据库-无法读取未定义的属性'initializedRelationships'- Ember js

b5lpy0ml  于 2022-11-05  发布在  其他
关注(0)|答案(2)|浏览(163)

在Ember Data中,适配器决定了数据如何持久化到后端数据存储中。后端主机、URL格式和用于与REST API对话的头文件等都可以在适配器中配置。

/* adapters/application.js */

import FirebaseAdapter from "emberfire/adapters/firebase";

export default FirebaseAdapter.extend({});

控制器是可传递的对象,它从路由中接收单个属性。
第一个
在Ember Data中,模型是表示应用程序呈现给用户的基础数据的对象。请注意,Ember Data模型与Routes上的模型方法是不同的概念,尽管它们共享相同的名称。

/* models/cars.js */

import DS from "ember-data";

export default DS.Model.extend({
  make: DS.attr("string"),
  model: DS.attr("string"),
  year: DS.attr("string")
});

在Ember中,当我们想创建一个可以使用URL访问的新页面时,我们需要使用Ember CLI生成一个“路由”。
第一个
EmberRouter类管理应用程序状态和URL。下面是路由器

/* router.js */

import EmberRouter from "@ember/routing/router";
import config from "./config/environment";

const Router = EmberRouter.extend({
  location: config.locationType,
  rootURL: config.rootURL
});

Router.map(function() {
  this.route("cars", function() {
    this.route("new");
    this.route("edit", { path: "/edit/:car_id" });
  });
  this.route("users");
});

export default Router;

模板用于创建跨多个网页的标准布局。更改模板时,基于该模板的网页将自动更改。模板提供标准化控件。
第一个问题
运行

Uncaught TypeError: Cannot read property 'initializedRelationships' of 
undefined
https://i.stack.imgur.com/y7Ax0.png

这是我的应用程序drive link

l5tcr1uw

l5tcr1uw1#

当我remove the findAll query inside model hook时,错误消失。可能这是firebase配置的错误。
您未输入以下配置。请确保您的app/config/environment.js中包含所有这些变量

var ENV = {
  firebase: {
    apiKey: "your-api-key",
    authDomain: "YOUR-FIREBASE-APP.firebaseapp.com",
    databaseURL: "https://YOUR-FIREBASE-APP.firebaseio.com",
    projectId: "YOUR-FIREBASE-APP",
    storageBucket: "YOUR-FIREBASE-APP.appspot.com",
    messagingSenderId: "00000000000"
  }
}

我的应用程序可以很好地与firebase一起工作。请按照here的一步一步的方法操作
您已经安装了emberfire的稳定版本和最新内部版本,

"emberfire": "^2.0.10",
"emberfire-exp": "^3.0.0-rc.1-4",

这是不必要的。安装任何一个版本。

hpcdzsge

hpcdzsge2#

如果您使用的是ember-cli 3.12.0,当您创建与应用程序的firebase连接时,默认情况下“emberfire/adapters/firebase”将自动导入adapters/application.js中,这不是真的

`/* adapters/application.js */

import FirebaseAdapter from "emberfire/adapters/firebase";

export default FirebaseAdapter.extend({});`

转到此处并将导入内容编辑为“emberfire/adapters/firestore”

`import FirebaseAdapter from 'emberfire/adapters/firestore';

export default FirebaseAdapter.extend({

});`

并将您的“ember源”降级为:package.json中的3.10.0英寸

相关问题