1

私の問題は、canJS Observable を使用しているときにオブジェクト キーにドットを使用できないことです。

それでは、新しいオブザーバブルを作成するとしましょう:

var obs = new can.Observe( { "div.test-class": { "color": "#000000;" } } );

メッセージで失敗する可能性があります

can.Observe: Object does not exist

そして、私は単に使用してオブザーバブルを作成することはできません

var obs = new can.Observe( { ".test-class": { "color": "#000000;" } } );

次のエラーで失敗する可能性があるためです。

TypeError: current._set is not a function

次のコードを使用してオブザーバブルを作成する

var obs = new can.Observe( { "div": {}, "div.test-class": { "color": "#000000;" } } );

完全に機能しますが、ネストする必要はなく、オブザーバブル内にネストしようとすることがtest-classできます。div

それで、どうすれば必要なものを達成できるのでしょうか?

4

1 に答える 1

2

これは確かにバグであり、バージョン 1.1.5 で修正されました。一般的なルールは次のとおりです。

var obs = new can.Observe( { "div": {}, "div.test-class": { "color": "#000000;" } } );

あなたが期待する観察を作成します。.attrlikeにオブジェクトを渡す

obs.attr({ 'my.test': 'testing' });

プロパティとしても設定さmy.testれます。のようなセッターとして渡す

obs.attr('my.test', 'testing');

設定し{ my: { test: 'testing' } }ます。

于 2013-04-23T13:36:08.100 に答える