微信小程序开发常见FAQ

作者: 未央大佬 | 来源:发表于2017-08-15 22:10 被阅读36次

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

    Q: ****怎么获取用户输入****?
    A: 能够获取用户输入的组件,需要使用组件的属性bindchange将用户的输入内容同步到 AppService。

    AppService。

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

    Q: ****为什么脚本内不能使用****window****等对象****?
    A: 页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件。

    Q: ****为什么**** zepto/jquery ****无法使用****?
    A: zepto/jquery 会使用到window对象和document对象,所以无法使用。

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

    Q: ****为什么****样式表不支持级联选择器****?
    A: WXSS支持以.开始的类选择器。如:

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

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

    input {
    width: 100px;
    }
    

    Q: ****为什么****本地资源无法通过**** WXSS ****获取****?
    A: background-image:可以使用网络图片,或者 base64,或者使用标签。

    Q: ****如何修改窗口的背景色****?
    A: 使用 page 标签选择器,可以修改顶层节点的样式

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

    Q: ****为什么****HTTPS ****请求不成功****?
    A: tls 仅支持 1.2 及以上版本

    Q: ****网络请求的**** referer?
    A: 网络请求的 referer 是不可以设置的,格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本。

    Q: ****为什么**** map ****组件总是在最上层****?
    A: map、canvas、video、textarea 是由客户端创建的原生组件,原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。 原生组件暂时还无法放在 scroll-view 上,也无法对原生组件设置 css 动画。

    相关文章

      网友评论

        本文标题:微信小程序开发常见FAQ

        本文链接:https://www.haomeiwen.com/subject/oufbrxtx.html