それは私を狂ってしまう。私は本当にシンプルな「問題」を持っていて、何時間もかかりましたが、何が起こっているのかまだ分かりません。非同期配列は何も使用していない?
親サービス(私はES6を使用しています)から継承する子サービスがあります。コンストラクタには、options
という1つの引数があります。 options
はthis._defaults
に割り当てられます。
私はoptions
を私のオブジェクト(new Service(options)
)に渡す前に、私はoptions
にデータを入力します。それをシンプルに保つために、私の現在のoptions
のオブジェクトは、次のようになります。
const Types = {
standard: {
some: 'data'
},
freeroll: {
some: 'data'
},
mainevent: {
some: 'data'
},
qualifier: {
some: 'data'
}
};
angular.forEach(Types, (val, key) => {
options.types[key] = true;
});
私はこのような範囲に私のサービスを割り当てる:
const options = {
types: []
}
は今、私はこのように、種類の配列にいくつかのものを追加します。
$scope.service = new Service(options)
サービスをコンソールで出力します。コンソールには_defaults.types
という値がArray(0)
と表示されます。配列をクリックすると正しい値が表示されますが、スコープはそれを認識しません。
どのようにですか? Array(0)
は、console.log()の時に配列に値が入力されていないのに後になったことを意味していますか?非同期関数のようにしますか?
Here is a plunk of my problem。
これは本当です。 jsonフィルタで内部的に使用されるJSON.stringifyの仕組みだけであることに注意してください。 – estus
どうすればいいですか?それはとても簡単な間違いで、私はそれを見ませんでした。完全に意味がある、ありがとう。 – Fortuna
問題ありません - コードが長すぎる(特にあなた自身の)コードを見ると、大カッコやブレースのような小さなキラーを見るのは難しいです – gonzofish