小程序-微信-第2讲 识微信小程序(第1讲概述略)

微信小程序大赛视频:http://www.xuetangx.com/courses/course-v1:TsinghuaX+2018032801X+2018_T1/courseware/c2f469d596604d1cb39c5df4650ddb4c/cf82bc63cafb4897833c6396687934b2/javascript

一、建立小程序,步骤略。一个邮箱只能建一个小程序。css

二、建立小程序代码html

三、打开代码的目录结构:java

(1)目录由app和各个page组成。app是项目的入口。app.json以下配置中,pages中第一个页面默认为项目启动页json

(2)每一个page模块包含四个文件:小程序

.js   --js文件
.json --配置文件
.wxss --css样式
.wxml --结构相似html

(3)配置每一个页面的标题:微信小程序

注意:navigationBarTextStyle的值只能是white和black,即:标题的文字颜色只能是白色和黑色微信

四、view、text、imge组件微信开发

text常见属性:<text class="info" id="ddd" style="" bindtap="f0" hidden="" data-user-name="user">Hello World</text>
要注意的地方,看注释
<view><!-- 相似html的div -->
  <!-- (1)图片用image,而不是img,并且小程序所有是成对的标签,没有但标签的概念 -->
  <!-- (2)图片地址?和html有点不同,html没有第一个/,直接是images/logo.jpg,但此处没有第一个/不显示图片 -->
  <image src="/images/logo.jpg"></image>
  <text>电影周周看</text><!-- 相似html的span -->
  <text>我每周推荐一部好片</text>
  <text>个人微博:weibo.com/simbasong</text>
</view>

效果以下:app

五、快速实现基本布局-应用弹性盒子布局(传统的css高宽居中等属性也可实现想要的功能,可是兼容性不太好,不一样尺寸的页面展现不必定一致)

<view><!-- 这里教学视频里用的 class="container",而后用.container设置弹性布局,可是不起做用,直接用view写样式就能够 -->
  <image src="/images/logo.jpg"></image>
  <text>电影周周看</text>
  <text>我每周推荐一部好片</text>
  <text>个人微博:weibo.com/simbasong</text>

  <text>aa</text>
  <text>aa</text>
</view>
view{
 background-color: #ccc;
 height:100vh;
 display: flex;/*弹性盒子布局*/
 flex-direction: column;/*和视频不一致,我不写这个也是一行行的,不是一列列的?*/
 justify-content: space-around;
 align-items: center;/*默认就居中了*/
}

后来发现:为何。container不起做用呢?由于我这个项目的app.wxss中,已经有这个样式了,冲突了。可是视频里面app.wxss啥也没有

因此,能够删除app.wxss里面的内容,所有删掉,about中把view换成.container就能够了;

或者!!将app.wxss里面container中的样式换成about中的内容,样式就能够用于全局了

六、让元素大小适配不一样宽度屏幕

(1)全部的小程序宽高都是750rpx

(2)px是绝对单位,就像厘米,设置宽350px,不论是iphone四、iphone六、魅族、小米,都是2px,那不一样的手机宽度展现出来的效果就有可能不同,有居中的,有靠左的

        rpx是一个相对的单位,全部手机在小程序宽高都是750rpx,设置成350rpx,就是相对原来的750rpx,换算事后,每一个手机展现的位置都应该是350/750*当前手机宽度(我是这样理解的,不知对否)

(3)px : rpx = 1:2  

     例如设置字体大小是30px,也能够用rpx的单位,那就是30px * 2 = 60rpx

修改代码以下:

<view>
  <image src="/images/logo.jpg"></image>
  <text style="font-weight:bolder;font-size:60rpx;">电影周周看</text>
  <text>我每周推荐一部好片</text>
  <text>个人微博:weibo.com/simbasong</text>
</view>
.container image{
  width:375rpx;
  height:375rpx;
  border-radius: 50%;/*方图变圆图*/
}

效果下:

七、新增每周推荐页面

(1)新建weekly目录和4个文件。在json文件中加大括号{ },不然报错

(2)在app.json中添加weekly的访问地址,并放在第一个,不然暂时没有这个页面的入口,不方便调试

-------有个bug须要处理:微信开发工具输入不了中文了??!--------------------------------------

问题模块 框架类型 问题类型 操做系统 工具版本
开发者工具 小程序 Bug Windows v1.02.1904042

异常描述:

没法输入中文,偶现,可是几率有点高,重启,重装,更新版本等等都未解决问题。

处理方法:

找到了另外一个提出一样问题的帖子,官方回复说是bug:

经验证, ctrl(command) + shfit + w 重启下项目,是可行的.

转自:https://www.cnblogs.com/xyyt/p/10005947.html

----------------------------------------------------------------------------------------------------

(3)wxml内容

<view class="container"><!-- 样式已经放在app.wxss全局,直接应用便可-->
  <text>本周推荐</text>
  <image src='/images/jf.jpg'></image><!-- 别忘了往images目录下面放张jf.jpg图片 -->
  <text>教父</text>
  <text>点评:最精彩的剧本,最真实的黑帮电影</text>
</view>

weekly.json中给设置下页面标题:

{
  "navigationBarTitleText": "本周推荐",
  "navigationBarBackgroundColor": "#000",
  "navigationBarTextStyle": "white"
}

八、使用navigator组件-从ABOUT页跳转到WEEKLY页

display: inlne不起做用??!!必须将在一行的文字都放在view中

<view class='container'>
  <image src="/images/logo.jpg"></image>
  <text style="font-weight:bolder;font-size:60rpx;">电影周周看</text>
    <view>
     <text>我</text>
<!--  此时可使用返回回到此页面 -->
<navigator url="/pages/weekly/weekly" style="display: inline;" class="nav-default" hover-class="nav-hover">每周推荐</navigator><text>一部好片</text>
  </view>

 <navigator
    url="/pages/weekly/weekly"
    style='display: inlne;'
    open-type="redirect"  <!-- 跳转新页面后,不能返回此上一页了,默认值是navigate -->
    hover-class="other-navigator-hover">
    在当前页打开
  </navigator>

  <text>个人微博:weibo.com/simbasong</text>
</view>

hover-class:鼠标点击时的样式;可是当navigate指定class之后,都是对颜色设置,必须hover-class放后面

.nav-default{/* 要想hover-class用的nav-hover颜色起做用,必须将css代码放在下面 */
  color:blue;
}

.nav-hover{
  color:red;
}

九、配置TabBar

app.json中添加tab页面

{
  "pages": [
    "pages/about/about",
    "pages/weekly/weekly",
    "pages/index/index",
    "pages/logs/logs"
  ],
  "tabBar":{
    "list": [
      {
        "text":"每周推荐",
        "pagePath":"pages/weekly/weekly",
        "iconPath":"images/icons/weekly.png",
        "selectedIconPath":"images/icons/weekly-selected.png"
      },
      {
        "text": "关于",
        "pagePath": "pages/about/about",
        "iconPath": "images/icons/about.png",
        "selectedIconPath": "images/icons/about-selected.png"
      }
    ],
    "color":"#000",//文本的颜色
    "selectedColor":"#00f"//选中后tab中文本颜色
  }
}

但此时about.wxml中的navigator不行了。须要open-type="switchTab"值,由于当你点击跳转后,下面的tab页面也是要改变的

十、配置全局的导航栏样式

将全局配置放在app.json的window中

"window":{
      "navigationBarBackgroundColor": "#000",//每一个导航栏的背景色
      "navigationBarTextStyle": "white"//每一个导航栏的文字颜色
  },
相关文章
相关标签/搜索