3

私はこの店を持っています:

Ext.define("App.store.units.MyStore", {

    extend:'Ext.data.Store',
    requires: "App.model.units.MyModel",

    model: "App.model.units.MyModel",
    id:'myStore',
    pageSize:10,
    proxy: {
        type: 'jsonp',
        url: urls.MyUrl+"/search",
        limitParam: 'undefined',
        startParam: 'offSet',
        pageParam: 'undefined',
        extraParams: {
            searchString: 'a'
        },
        reader: {
            root: 'results.results',
            totalProperty: 'numFound',
            type: 'json'
        }
    }
});

リクエストは機能し、期待どおりの応答が得られます。

何らかの理由で、ブラウザでこれを取得するようになりました:

reader.read is not a function

昨日はすべてうまくいったので、どこに問題があるのか​​ わかりません(これがどのように聞こえるかは知っていますが、何が違うのか本当にわかりません)。

役立つかもしれない提案はありますか?

編集モデルの(動的)定義も次のとおりです。

function(config){
    try{
        console.log("INIT MODEL");
    Ext.define("App.model.units.MyModel", {
        extend: 'Ext.data.Model',
        fields: config
    });
    } catch(err){
        console.log("Error");
    }
}

この関数はストアが作成される前configに実行され、オブジェクトはarrayアイテムの{name: 'value'}です。

何が悪いのかわからない。これで、すべてが Firefox で正常に動作するように見えますが、IE8 にはまだそのエラー (type:'json'リーダーでのイベント) があります。リーダーはIE8で正しく説明されていないと思いますが、オブジェクトがコンソールに正しく表示されないため(またはそうする知識がないため)、確認できません。同じ JavaScript コードが正常に実行されないのはなぜですか?

LATER EDIT何らかの理由で、reader時々作成されるだけです。これが問題です。必要な ではなく、単なるオブジェクトの場合もありますreader。これは Firefox でも発生します。模様はないようです。

4

3 に答える 3

1

私は非常によく似た問題を抱えていました。これが助けになりました:

Ext.require('App.model.units.MyModel');
//or any other model you use in your store

あなたがあなたの店を作るにそれをどこかに置いてください、そしてそれは働きます!

于 2012-10-11T07:12:59.787 に答える
0

ExtJS docs に記載されているように、必要な構成は配列です。

http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.Class-cfg-requires

于 2013-09-11T23:28:38.593 に答える
0

ストア フィールドを削除したときに、このエラーが発生しました。グリッド用にこれを持っていました...

グリッド

            columns: [
                {header: "Status", width: 75, sortable: true, dataIndex: 'partystatus'},
                {header: "Name", width: 160, sortable: true, dataIndex: 'partyname'},
                {header: "Fathersname", width: 75, sortable: true, dataIndex: 'fathersname'},
                {header: "Grandfather", width: 75, sortable: true, dataIndex: 'grandfather'},
                {header: "Type", width: 75, sortable: true, dataIndex: 'partytype'}
            ],

store の場合は次のとおりです。

お店

    fields: [
        {name: 'firstName', type: 'string'},
        {name: 'name', type: 'string'},
        {name: 'age', type: 'int'},
        {name: 'eyeColor', type: 'string'}
    ],

冗長だと思ってストアフィールドを削除しただけですが、代わりにそのエラーが発生しました。

于 2016-11-04T12:09:15.150 に答える