簡體   English   中英

Ember序列化器和適配器未加載

[英]Ember serializers & adapters not loading

我有一個使用ember 1.11.1,ember-data 1.0.0-beta.16.1和ember-cli 0.2.1的ember-cli應用程序

我在通過ember g serializer Role生成的app / serializers / role.js中有一個序列ember g serializer Role

import DS from 'ember-data';

export default DS.RESTSerializer.extend({});

我在app / adapters / application.js中有一個適配器:

import DS from 'ember-data';

export default DS.RESTAdapter.extend({namespace: 'api/1'});

當我加載我的應用程序時,chrome ember檢查器在容器部分中未顯示任何序列化程序或適配器的跡象。

當我在瀏覽器中查看源代碼時,正確的代碼確實出現在/assets/frontend/frontend.js中:

define('frontend/serializers/role', ['exports', 'ember-data'], function (exports, DS) {

    'use strict';

    exports['default'] = DS['default'].RESTSerializer.extend({});

});

define('frontend/adapters/application', ['exports', 'ember-data'], function (exports, DS) {

    'use strict';

    exports['default'] = DS['default'].RESTAdapter.extend({ namespace: "api/1" });

});

Ember應用程序啟動時沒有錯誤,只是當我嘗試添加並使用序列化程序時,沒有任何作用,因為它沒有加載並且沒有出現在Ember容器中-即使當我通過控制台檢查application.registry._defaultContainer.cache時。

我有另一個簡單的ember-cli應用程序,該應用程序確實在容器中顯示了相同的適配器和序列化器,但我不知道為什么會這樣做,而我的其他應用程序卻沒有。

知道為什么會這樣嗎? 它讓我發瘋。

序列化器和適配器不再單例。 我假設通過查看檢查器中“容器”選項卡的內容,它僅顯示單例對象。

當你說

當我嘗試添加並使用序列化程序時,沒有任何效果

你怎么做到這一點? 現在要做的方法是通過商店訪問它們。

基本上,現在的工作方式是商店(store:main)負責在詢問時返回適配器和序列化器。 第一次要求它創建實例時,每個后續請求都返回相同的單個實例。 它們之所以不是單例,是因為單個商店實例需要維護自己的適配器和序列化器-因此,如果您有兩個商店,則需要能夠創建兩個“個人”適配器。

這次Ember論壇討論可能會對您有所幫助。 此請求是實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM