函数如果是带括号的话就是直接调用函数,返回的是整个函数体, 函数会立即执行, 如果是不带括号其实是调用了函数名,函数名就相当于一个指向函数的指针,而不是函数本身。
所有在计数器带参数或者有括号时函数会立即执行, 计时器就不起作用了,这样肯定是不行的,
解决办法是:在函数外面再套一层函数,返回你要执行的函数
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);