Javascript函数在调用之前执行

时间:2016-12-01 05:49:45

标签: javascript function meteor simple-schema meteor-collection2

我有一个javascript函数抱怨它的主体内的调用在调用之前不是函数。有人可以帮我解释一下吗?

上下文:我正在使用MeteorCollection2,我想在我的Schemas的不同属性中使用函数进行重用。确切地说,我想做以下事情:

function foo (autoVal, self){
  if(something){
     return autoVal;
  }else{
     return self.unset();
  }
}

export const myCollection = new Mongo.Collection('myCollection');

const Schema = new SimpleSchema({
   my_field:{
      type:Boolean,
      autoValue: foo(false,this),
   }
});

myCollection.attachSchema(Schema);

当我保存并运行Meteor时,它不会启动,我收到以下错误消息:

TypeError: self.unset is not a function

我觉得我错过了关于如何调用或执行javascript函数的东西,有人能指出为什么会发生这种情况吗?

1 个答案:

答案 0 :(得分:2)

试试这个:

.maindrop {
    width: 49%;
}
.bar {
    padding: 20px;
    color: white;
    background: #1FB5AC;
    display: block;
    font-family: Times;
    text-decoration: none;
    font-size: 16px;
    transition: .2s ease-out;
    margin-bottom: .1cm;
}
.bar:hover {
    background: gray;
}
.dropbox {
    max-height: 0;
    transition: .5s ease-out;
    overflow: hidden;
    width: 100%;
}
.dropbox:target {
    max-height: 300px;
}