2016-11-24 7 views
0

모델 내부에서 클릭 이벤트를 가질 수 있으며 아래에서 다른 뷰에서 호출 할 수 있습니까? 내 코드는 동일한 뷰를 사용합니다. studenviewModel, 이제 모델 내에서 클릭 이벤트가 필요합니다. if if 내가 아이디어를 설명하기 위해 거친 업 의사 솔루션을하고있는 중이 야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

당신은 녹아웃 - 포스트 박스 플러그인을 찾고있을 것입니다. 녹아웃 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,하지만 이해가 안되네. 잠깐 설명해주게. .. –