小程序-微信-第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"//每一個導航欄的文字顏色
  },
相關文章
相關標籤/搜索