为啥不在data中初始化year, month

来源:8-15 epsoide组件与流行页面样式

qiankunli

2019-02-21

我的index.js文件

import { getYear, getChineseMonth } from '../../../utils/helper'

Component({
  properties: {
    index: {
      type: Number,
      observer: function(newVal) {
        const val = newVal < 10 ? `0${newVal}` : newVal
        this.setData({
          _index: val
        })
      }
    }
  },

  data: {
    year: getYear(),
    month: getChineseMonth(),
    _index: 0
  }
})

老师的

Component({
  /**
   * 组件的属性列表
   */
  properties: {
    index:{
      type:String,
      observer:function(newVal, oldVal, changedPath){
        let val = newVal < 10?'0'+newVal:newVal
        this.setData({
          _index:val
        })
      }
    }
  },
  // wxs

  /**
   * 组件的初始数据
   */
  data: {
    months: [
      '一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月',
      '十二月'
    ],
    year: 0,
    month: '',
    _index:''
  },

  attached:function(){
    let date = new Date()
    let year = date.getFullYear()
    let month = date.getMonth()

    this.setData({
      year,
      month:this.data.months[month]
    })
  }
})
写回答

1回答

7七月

2019-02-22

没太明白,您这个问题的具体意思是?

0
5
宛在水中沚a
回复
7七月
确实 data只是声明初始值用的,直接调用一些函数什么是不太好的。。 老师那个observer 修改index,后面说的可能会换成wxs的操作,也就是 定义一个过滤器filter,然后页面引用,{{filter.zeroAdd(index)}}
2019-05-10
共5条回复

纯正商业级微信小程序应用实战,全方位小程序特性讲解

真实数据的高质量小程序项目,学会直接工作

4782 学习 · 2125 问题

查看课程