2012-03-23 12 views
0

私は2つのクラス、ユーザーと健康の読書を持っています。私はそれの中で読書の配列を持つユーザーオブジェクトの配列を作った。読んで配列の日付と体重にアクセスしたい、私はこれを理解するために長い間試してきた!このシンプルな問題が私を狂わせてしまうのを助けてください!KnockoutJS別のクラスのオブジェクトの配列へのアクセス

// Class to represent a row in the seat reservations grid 
function Reading(theDate,theWeight) 
{ 

    self.theDate=ko.observable(theDate); 
    self.theWeight=ko.observable(theWeight); 
} 

function User(name,weight,date) { 
    var self = this; 
    self.name = name; 
    self.date = date; 
    self.weight = ko.observable(weight); 
    self.theReadings = ko.observableArray([ 
     new Reading(12,13) 
    ]); 

} 
    // Editable data 
     self.users = ko.observableArray([ 
     new User("George",1,2012), 
     new User("Bindu",2,2012) 
    ]); 
    /this alerts an object but i dont know how to access the weight/date variable 
    alert(self.users()[0].theReadings()[0]); 

    self.readings = ko.observableArray([ 
     new Reading(12,13) 

答えて

1

ちょっとしたことがありました。

ここにいます。すなわち

http://jsfiddle.net/EN7y4/3/

。あなたは "this。"の代わりに "self.theWeight"を読んでいます。...

ハッピーコーディング!

+0

もう1つ。 'self'が後のコード(編集可能なデータの下)で動作する唯一の理由は、それが[' window.self'](https://developer.mozilla.org/ja/DOM/window.self)を参照していることです。これは多少混乱します。 –

+0

すごくありがとう!私は間違ってやっていたことが分かっていました。 –

+0

自分自身、マッテューが指していたように、遊ぶべき物体ではありません。グローバルオブジェクトを名前空間(var myapplicationなど)またはDOM(jquery.data()オブジェクト)内に保持することは賢明です –

0
alert(self.users()[0].theReadings()[0].theWeight(); 

私は 'THES' を削除することをお勧めします。それはまれなスタイルです。

+0

私は.theWeight()を追加しようとしましたが、うまくいきませんでした。それはちょっとだけすべてを壊す。 –

関連する問題