在计时器里面给函数传参

函数如果是带括号的话就是直接调用函数,返回的是整个函数体, 函数会立即执行, 如果是不带括号其实是调用了函数名,函数名就相当于一个指向函数的指针,而不是函数本身。

所有在计数器带参数或者有括号时函数会立即执行, 计时器就不起作用了,这样肯定是不行的,

解决办法是:在函数外面再套一层函数,返回你要执行的函数

timeF:function(item){
  function showSelsectF(item){
    api.openFrame({
        name: 'shop_selectNormalOrdelet',
        url: './shop_selectNormalOrdelet.html',
        rect: {
            x: 0,
            y: 0,
            w: 'auto',
            h: 'auto'
        },
        pageParam: {
            name: item,
            id:vm.addressId
        },
        bgColor: 'rgba(0,0,0,0.5)',
        bounces: false,
    });
  }
  return showSelsectF
},

  计时器:调用套在函数外面的函数

  vm.timer = setTimeout(vm.timeF(item), 700);

  

posted @ 2019-01-15 14:30  练洗之命  阅读(489)  评论(0编辑  收藏  举报