收藏
回答

组件里面使用定时器无法清除吗?

// components/scrollNews/scrollNews.js

Component({

  /**

   * 组件的属性列表

   */

  properties: {

    list: {

      type: Array,

      default: [],

    },

    showIndex: {

      type: Number,

      default: 0 //当前展示的轮播

    }

  },


  /**

   * 组件的初始数据

   */

  data() {

    return {

      timer:{}

    }

  },


  observers: {

    'list, showIndex': function (val1, val2) {

      this.data.timer = setInterval(() => {

          let that = this;

          that.setData({

            showIndex: val2 == (val1.length - 1? 0 : ++val2

          })

        }, 4900)

      

    },

  },

  pageLifetimes: {

    hide:function () {

      let that = this

      clearInterval(that.data.timer)

    }

  },


  lifetimes: {

    attached: function() {

      // 在组件实例进入页面节点树时执行


    },

    detached: function() {

      let that = this

      // 在组件实例被从页面节点树移除时执行

      clearInterval(that.data.timer)

    },

  },


  methods: {


  }

})


回答关注问题邀请回答
收藏

1 个回答

登录 后发表内容
问题标签