精华

玩MINA,也许会遇到的问题(更新)

  • • 发表于 8年前
  • • 作者 MINA搬运工
  • • 3472 人浏览
  • • 29 条评论
  • • 最后编辑时间 8年前
  • • 来自 [技 术]

原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处

0、不能直接操作 Page.data

避免在直接对 Page.data 进行赋值修改,请使用 Page.setData 进行操作才能将数据同步到页面中进行渲染。

说明:0.11.122100 之前的版本,是可以在 onLoad、onShow之中使用 this.data 设置数据到 Page.data 中的。原因是 onShow 之后才会数据绑定、然后执行 onReady 渲染视图层,因此,在之前使用 this.data 可以 Page.data 设置数据。在此之后,必须使用 this.setData,只有该方式设置的数据,能触发页面的再次渲染,this.data 无效。很显然新版本之后,官方强制大家 this.setData。

1、怎么获取用户输入

能够获取用户输入的组件,需要使用组件的属性bindchange将用户的输入内容同步到 AppService。

<input id="myInput" bindchange="bindChange" />
<checkbox id="myCheckbox" bindchange="bindChange" />
var inputContent = {}

Page({
  data: {
    inputContent: {}
  },
    bindChange: function(e) {
        inputContent[e.currentTarget.id] = e.detail.value
    }
})

2、为什么脚本内不能使用window等对象

页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件


3、为什么 zepto/jquery 无法使用

zepto/jquery 会使用到window对象和document对象,所以无法使用。


4、wx.navigateTo无法打开页面

一个应用同时只能打开5个页面,当已经打开了5个页面之后,wx.navigateTo不能正常打开新页面。请避免多层级的交互方式,或者使用wx.redirectTo


5、样式表不支持级联选择器

WXSS支持以.开始的类选择器。如:

.normal_view {
  color: #000000;
  padding: 10px;
}

可以使用标签选择器,控制同一类组件的样式。如:使用input标签选择器控制<input/>的默认样式。

input {
  width: 100px;
}

6、本地资源无法通过 css 获取

background-image:可以使用网络图片,或者 base64,或者使用<image/>标签


7、如何修改窗口的背景色

使用 page 标签选择器,可以修改顶层节点的样式

page {
  display: block;
  min-height: 100%;
  background-color: red;
}

8、为什么上传不成功

为了提升体验流畅度,编译后的代码包大小需小于 1MB ,大于 1MB 的代码包将上传失败。


9、HTTPS 请求不成功

tls 仅支持 1.2 及以上版本


10、网络请求的 referer

网络请求的 referer 是不可以设置的,格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版。


分享到:
29条评论
Ctrl+Enter
作者

MINA搬运工

MINA搬运工

APP:4 帖子:46 回复:280 积分:4234

已加入社区[2941]天

为自由而思,行自由事

作者详情》
Top