vue-mini / template

请使用 create-vue-mini
MIT License
9 stars 0 forks source link

编译原生小程序貌似有些问题 #5

Open itmanyong opened 2 years ago

itmanyong commented 2 years ago

出现在wxml文件的wxs代码中,表现怪异,若将文件内容直接替换为未编译的代码又可以正常运行 在引入原生小程序UI组件库后,某些wxml转换貌似有误,如下编译后与未编译两张图: image image

yangmingshan commented 2 years ago

这似乎跟 Vue Mini 没什么关系,你是想报告 https://github.com/vue-mini/template 的问题吗?

itmanyong commented 2 years ago

这好像跟 Vue Mini 没什么关系,你是想报告https://github.com/vue-mini/template的问题吗?

额。。确实是。很抱歉在此处提出此问题。是脚手架编译导致的,有什么新的进展吗

yangmingshan commented 2 years ago

你如果能提供一个最小化复现案例会很有帮助,仅凭截图我很难排查问题。

itmanyong commented 2 years ago

如果你能提供一个最小化的复现案例会很有帮助,仅仅凭一张我难以排查的问题。

在某个页面的wxml下面植入以下代码,经过脚手架的编译后必定呈现。将编译后的对应的wxml内的内容换成未编译的内容,此刻又能正常运行。

<view>
  正常运行了~
</view>
<wxs module="parse">
  module.exports = {
    openDisAbled: function(year, month, day, min, max) {
      var bool = true;
      var date = year + "/" + month + "/" + day;
      var minDate = min.year + "/" + min.month + "/" + min.day;
      var maxDate = max.year + "/" + max.month + "/" + max.day;
      var timestamp = getDate(date).getTime();
      if (timestamp >= getDate(minDate).getTime() && timestamp <= getDate(maxDate).getTime()) {
        bool = false;
      }
      return bool;
    },
    getColor: function(index, type, color, year, month, startDate, endDate, rangeBgColor, rangeColor, isActiveCurrent, activeDate, activeBgColor, activeColor) {
      color = type == 1 ? '' : color;
      var day = index + 1;
      var date = year + "-" + month + "-" + day;
      var reg = getRegExp("-", "g")
      var timestamp = getDate(date.replace(reg, '/')).getTime();
      var start = startDate.replace(reg, '/');
      var end = endDate.replace(reg, '/');
      if ((isActiveCurrent && activeDate == date) || startDate == date || endDate == date) {
        color = type == 1 ? activeBgColor : activeColor;
      } else if (endDate && timestamp > getDate(start).getTime() && timestamp < getDate(end).getTime()) {
        color = type == 1 ? rangeBgColor : rangeColor;
      }
      return color;
    },
    getStatusData: getStatus,
    getDescText: function(index, startDate, endDate, year, month, lunar, daysLunarArr, isFixed, type, startText, endText, status) {
      var text = lunar ? daysLunarArr[index] : "";
      if (isFixed && type == 2) {
        if (lunar) {
          var date = year + "-" + month + "-" + (index + 1);
          if (startDate == date && startDate != endDate) {
            text = startText
          } else if (endDate == date) {
            text = endText
          }
        }
      } else {
        var status = getStatus(1, index, isFixed, status);
        if (status)
          text = status;
      }
      return text;
    }

  }
</wxs>

image

itmanyong commented 2 years ago

有一个不情之请,能否闲暇时在saov2生成cli的时候提供ts支持选项,当然,ts固然好。但在某些情况下,js也有独到的优势。

yangmingshan commented 2 years ago

我建议不要使用内联的 wxs

有一个不情之请,能否闲暇时在saov2生成cli的时候提供ts支持选项,当然,ts固然好。但在某些情况下,js也有独到的优势。

你是想说 js 吧,将来会的