微信小程序------框架

简介: 微信小程序------框架

视图层

WXML

WXML(WeiXin Markup Language)是框架设计的一套标签语言,结合基础组件事件系统,可以构建出页面的结构。

先在我们的项目中增加四个界面,分别是a,b,c,d.(名字可以根据自己来)

在项目的主体中找到 app.json 这个文件进行增加以上四个文件。

在该文件中找到 pages ,输入"pages/a/a"会自动生成

数据绑定

在我们的创建的a.wxml页面中编写代码

然后去我们的a.js的data中编写代码

在模拟器中可以看到的效果

列表渲染

接着在我们的a.wxml中编写代码

再在我们的a.js中编写代码

效果

条件渲染

再去我们的a.wxml中编写代码

再回到a.js中的data编写代码

效果

模板

在a.wxml中编写代码

<!--pages/a/a.wxml-->
<text>pages/a/a.wxml</text>
<view>{{message}}</view>
<view wx:for="{{array}}"> {{item}} </view>
<view wx:for="{{users}}" wx:key="id">用户编号: {{item.id}}; 用户姓名:{{item.name}} </view>
<!--wxml-->
<view wx:if="{{view == '1'}}"> 喜羊羊 </view>
<view wx:elif="{{view == '2'}}"> 美羊羊 </view>
<view wx:else="{{view == '3'}}"> 沸羊羊 </view>
<!--wxml-->
<template name="staffName">
  <view>
    FirstName: {{firstName}}, LastName: {{lastName}}
  </view>
</template>
<template is="staffName" data="{{...staffA}}"></template>
<template is="staffName" data="{{...staffB}}"></template>
<template is="staffName" data="{{...staffC}}"></template>

再回到a.js中的data编写代码

效果

wsx事件

在a.wxml中编写代码

<!--pages/a/a.wxml-->
<text>pages/a/a.wxml</text>
<view>{{message}}</view>
<view wx:for="{{array}}"> {{item}} </view>
<view wx:for="{{users}}" wx:key="id">用户编号: {{item.id}}; 用户姓名:{{item.name}} </view>
<!--wxml-->
<view wx:if="{{view == '1'}}"> 喜羊羊 </view>
<view wx:elif="{{view == '2'}}"> 美羊羊 </view>
<view wx:else="{{view == '3'}}"> 沸羊羊 </view>
<!--wxml-->
<template name="staffName">
  <view>
    FirstName: {{firstName}}, LastName: {{lastName}}
  </view>
</template>
<template is="staffName" data="{{...staffA}}"></template>
<template is="staffName" data="{{...staffB}}"></template>
<template is="staffName" data="{{...staffC}}"></template>
<view id="tapTest" data-hi="Weixin" data-meetingSteate="6" bindtap="tapName"> Click me! </view>

去a.js中编写代码

tapName: function(event) {
    console.log(event),
    console.log(event.target.dataset)
  },

效果

逻辑层

生命周期

跳转

先在项目app.json中添加以下代码

"tabBar": {
    "list": [{
      "pagePath": "pages/index/index",
      "text": "首页"
    }, {
      "pagePath": "pages/a/a",
      "text": "a页面"
    }, {
      "pagePath": "pages/b/b",
      "text": "b页面"
    }, {
      "pagePath": "pages/c/c",
      "text": "c页面"
    }, {
      "pagePath": "pages/d/d",
      "text": "d页面"
    }]
  },

再回到a.wxml中编写代码

<!--pages/a/a.wxml-->
<text>pages/a/a.wxml</text>
<view>{{message}}</view>
<view wx:for="{{array}}"> {{item}} </view>
<view wx:for="{{users}}" wx:key="id">用户编号: {{item.id}}; 用户姓名:{{item.name}} </view>
<!--wxml-->
<view wx:if="{{view == '1'}}"> 喜羊羊 </view>
<view wx:elif="{{view == '2'}}"> 美羊羊 </view>
<view wx:else="{{view == '3'}}"> 沸羊羊 </view>
<!--wxml-->
<template name="staffName">
  <view>
    FirstName: {{firstName}}, LastName: {{lastName}}
  </view>
</template>
<template is="staffName" data="{{...staffA}}"></template>
<template is="staffName" data="{{...staffB}}"></template>
<template is="staffName" data="{{...staffC}}"></template>
<view id="tapTest" data-hi="Weixin" data-meetingSteate="6" bindtap="tapName"> Click me! </view>
<button bindtap="a2b">a页面跳b页面</button>
<button bindtap="a2c">a页面跳c页面</button>

在a.js中编写代码

// pages/a/a.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
      message:"俺可是懒大王",
      array:[1,2,3,4,5],
      users:[{id:1,name:'灰太狼'},{id:2,name:'红太狼'},{id:3,name:'蕉太狼'}],
      view:3,
      staffA: {firstName: '掌上明猪', lastName: '小黑猪'},
      staffB: {firstName: '无价之宝', lastName: '姿宝宝'},
      staffC: {firstName: '嘤嘤狂吠', lastName: '小黑狗'}
  },
  tapName: function(event) {
    console.log(event),
    console.log(event.target.dataset)
  },
a2b:function() {
  wx.switchTab({
    url: '/pages/b/b',
  })
},
a2c:function() {
  wx.switchTab({
    url: '/pages/c/c',
  })
},
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log("a.onload");
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    console.log("a.onReady");
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    console.log("a.onShow");
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
    console.log("a.onHide");
  },
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    console.log("a.onUnload");
  },

再去我们的c.wxml中编写代码

<!--pages/c/c.wxml-->
<text>pages/c/c.wxml</text>
<button bindtap="c2b">c页面跳b页面</button>
<button bindtap="c2d">c页面跳d页面</button>

c.js中编写代码

// pages/c/c.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
  },
  c2d:function() {
    wx.switchTab({
      url: '/pages/d/d',
    })
  },
  c2b:function() {
    wx.switchTab({
      url: '/pages/b/b',
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log("c.onload");
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {
    console.log("c.onReady");
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    console.log("c.onShow");
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {
    console.log("c.onHide");
  },
  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {
    console.log("c.onUnload");
  },

效果

okok,今天就到这里啦,下班下班!!!!!!!!!!!!!!!!!!!!


目录
相关文章
|
21天前
|
开发框架 人工智能 小程序
小程序常见的 UI 框架
【10月更文挑战第17天】小程序 UI 框架为开发者提供了便捷的工具和资源,帮助他们快速构建高质量的小程序界面。在选择框架时,需要综合考虑各种因素,以找到最适合项目的解决方案。随着技术的不断进步,UI 框架也将不断发展和创新,为小程序开发带来更多的便利和可能性。
36 2
|
2月前
|
小程序 JavaScript 前端开发
小程序常见的UI框架
小程序常见的UI框架
300 60
|
3月前
|
移动开发 小程序 JavaScript
开源的微信小程序框架
【8月更文挑战第22天】开源的微信小程序框架
181 65
|
5月前
|
小程序 前端开发 JavaScript
微信小程序MINA框架
【6月更文挑战第4天】微信小程序MINA框架是一个专为小程序设计的框架,它主要分为两大部分:页面视图层(View)和AppService应用逻辑层。下面我将结合代码和图示来详细讲解MINA框架。
60 0
|
4月前
|
移动开发 开发框架 前端开发
微信门户开发框架-使用指导说明书(2)--基于框架的开发过程
微信门户开发框架-使用指导说明书(2)--基于框架的开发过程
|
4月前
|
存储 开发框架 小程序
微信门户开发框架-使用指导说明书
微信门户开发框架-使用指导说明书
|
4月前
|
开发框架 前端开发 JavaScript
在微信框架模块中,基于Vue&Element前端的事件和内容的管理
在微信框架模块中,基于Vue&Element前端的事件和内容的管理
|
4月前
|
开发框架 移动开发 前端开发
在微信框架模块中,基于Vue&Element前端的后台管理功能介绍
在微信框架模块中,基于Vue&Element前端的后台管理功能介绍
|
4月前
|
开发框架 前端开发 JavaScript
在微信框架模块中,基于Vue&Element前端,通过动态构建投票选项,实现单选、复选的投票操作
在微信框架模块中,基于Vue&Element前端,通过动态构建投票选项,实现单选、复选的投票操作
|
5月前
|
小程序 开发者 Windows
轻量、可靠的小程序 UI 框架 -- Vant Weapp的安装和使用
轻量、可靠的小程序 UI 框架 -- Vant Weapp的安装和使用
139 1