2017-02-20 6 views
1

$parents[2] 대신 $parents["ExamViewModel"]으로 전화 할 수있는 방법/플러그인이 있습니까?이름으로 부모에게 전화하기

다른 상위 뷰에 표시 될 수있는 공유보기에 매우 유용합니다.

+0

힌트 : 당신은 그런 문제가있을 경우에이 홍보 너의 개념을 천천히 재고해라. 부모를 직접 호출하는 코드 냄새입니다. 항상 부모에게서 자녀에게 물건을 전달하십시오. –

+0

동의 함, 삭제하겠습니다. – user2769267

답변

0

아니요 그런 것은 없습니다.

instanceof을 사용하면 자신 만의 방법을 만들 수 있습니다.

뭔가 같은 :

function findParentOfType(parents, targetType) { 
    for (var i = 0; i < parents.length; i++) { 
     if (parents[i] instanceof targetType) return parents[i]; 
    } 
    return null; 
} 

사용법 :

findParentOfType($parents, ExamViewModel) 

예 :

function Class1() { 
 
\t this.name = 'MyClass1'; 
 
} 
 

 
function Class2() { 
 
\t this.name = 'MyClass2'; 
 
} 
 

 
var parents = [new Class1(), new Class2()]; 
 

 
function findParentOfType(parents, targetType) { 
 
    for (var i = 0; i < parents.length; i++) { 
 
     if (parents[i] instanceof targetType) return parents[i]; 
 
    } 
 
    return null; 
 
} 
 

 
console.log(findParentOfType(parents, Class2).name);

+0

고마워요! for (var i = 0; i user2769267

+0

@ user2769267 oops, fixed –

+0

instanceof의 오른쪽에 오류가 발생하는 것은 개체가 아닙니다. – user2769267