2016-11-24 2 views
0

モデル内でクリックイベントを発生させ、別のビューから呼び出すことは可能ですか?2つのビューで同じスタディビューモデルを使用しています。モデル内のクリックイベントが必要です私はアイデアを説明するためにラフアップ疑似ソリューションをしていますKnockout.jsでイベントをクリック

function studentViewModel() 
{ 
    self.studentDetails=ko.observaleArray([]); 
    sum function to call ajax method 
} 

function classModel(data) 
{ 
    get bind to class 

    self.getClassdetails=function() 
    { 
     } 
} 

<div id="view1" data-role="view" class="student"> 

<div> 
    <div id="view2" data-role="view" class="student"> 
    <button data-bind="getClassdetails"><button> 
    <div> 

    ko.applybinding(new studentViewModel(),documentgetelementByClassName("student")) 
+0

あなたはノックアウトポストボックスプラグインを探しているかもしれません。 Knockout V2.xを使用していますか? – connexo

+0

はい私はノックアウトを使用しています3.3.0 v –

+0

なぜ[tag:knockout-2.0]をあなたの質問に追加しましたか? – connexo

答えて

0

を働いていないその私はそれがclassModel内ではなく動作しますstudentViewModel内のイベントをクリックしてください。構文をクリーンアップし、クラス間の依存関係を改善することができます。あなたのモデルでビューアの依存関係を表現することです:

function studentViewModel() 
{ 
    --> self.classStudentBelongsTo = ... somehow inject this or new it here 
    self.studentDetails=ko.observaleArray([]); 
    sum function to call ajax method 
} 

function classModel(data) 
{ 
    get bind to class 

    self.getClassdetails=function() 
    { 
     } 
} 

<div id="view1" data-role="view" class="student"> 

<div> 
    <div id="view2" data-role="view" class="student"> 
    <button data-bind="--> classStudentBelongsTo.getClassdetails"><button> 
    <div> 

    ko.applybinding(new studentViewModel(),documentgetelementByClassName("student")) 
+0

@thanksしかし、私はそれを理解することができません、簡単に説明することができます.. –

関連する問題