2017-02-20 68 views
1

有没有一种方法/插件可以拨打$parents["ExamViewModel"]而不是$parents[2]打电话给家长姓名

这对于可能在不同父视图中显示的共享视图会非常有帮助。

+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