小程序为什么有的方法要写在methods,有的可直接写在page里

在页面中触发的函数必须写在method里,其他情况可以写在page里,组件的可以写在page里

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在尝试开发了一个微信小程序之,后发现有mpvue这么个东西可以来开发小程序以后就忍不住了,所以把小程序和我用vue开发过的版本结合修改以后,再尝试用mpvue iview-weapp开发一个版本。后台接口用的是NeteaseCloudMusicApi,感谢大佬的分享git地址,demo项目代码质量不是很好,哈哈哈哈多多见谅预览(不动点大图看)目前完成推荐歌单排行榜歌单详情播放页歌单评论搜索扫一扫(基础功能)周边(百度地图api)项目搭建最开始还是要把微信小程序开发工具下载一下mpvue项目建立,跟着官网走一遍是最快的 快速上手支持iview-weapp,还是跟着官网快速上手,这就一个地方要注意,把下载下来的iview-weapp项目的dist文件夹(可以改名字)是放到你项目编译后的dist目录下,iview-weapp官网没有效果的展示,所以建议扫它上面的二维码查看效果以后对照它的代码进行开发最后就是用微信小程序开发工具打开项目(不是dist目录),用你常用的编译器编代码(src目录下)请求方面微信小程序有自带的wx.request()可以使用,还可以用Flyio,我是用的Flyio具体使用的话可以再每个模块中var Fly=require("flyio/dist/npm/wx") var fly=new Fly fly.get(url).then(res=>{})还有就是在main.js中const Fly = require('flyio/dist/npm/wx'); let fly = new Fly(); Vue.prototype.$fly = fly; //模块中使用  this.$fiy.get(url).then(res=>{})路由跳转传参wx.navigateTo({url:'../test/main?id=' id})\u7b2c\u4e00\u79cd\uff1aonShow\u00a0(options)\u00a0{\r\n\r\nlet\u00a0id\u00a0=\u00a0options.id\r\n\r\n}\u7b2c\u4e8c\u79cd\uff1a\u5728\u6240\u6709\u9875\u9762\u7ec4\u4ef6\u5185\u53ef\u4ee5\u901a\u8fc7 this.$root.$mp.query \u83b7\u53d6,\u8981\u6ce8\u610f\u5c31\u662f\uff1a\u5199\u5728mounted\u51fd\u6570\u91cc\uff0c\u5199\u5230created\u62a5\u9519\u3002\u7b2c\u4e09\u79cd\uff1a\u5728\u6240\u6709\u7684\u7ec4\u4ef6\u5185\u53ef\u4ee5\u901a\u8fc7 this.$root.$mp.appOptions\u83b7\u53d6\u3002\u6b63\u5e38\u60c5\u51b5\u4e0b\u4e09\u79cd\u5e94\u8be5\u90fd\u662f\u53ef\u4ee5\u7684\uff0c\u67d0\u4e00\u79cd\u6ca1\u7528\u7684\u65f6\u5019\u5c31\u5c1d\u8bd5\u53e6\u5916\u4e24\u79cd\u65b9\u9762\u8fd8\u662f\u548cvue\u91cc\u9762\u7684\u4f7f\u7528\u4e00\u6837\uff0c\u7b80\u5355\u7684/src/store/store.jsimport\u00a0Vue\u00a0from\u00a0'vue' import Vuex from 'vuex'; Vue.use(Vuex); export default new Vuex.Store({   state: {    oneState:'one'     }   },   mutations: {     setItem: (state,data) => {       state.oneState = data     },   },   getters : {     getItem (state) {         return state.oneState     }, });/src/main.jsimport store from './store/store' Vue.prototype.$store = store;/src/page/text.vueimport {mapGetters} from 'vuex'   export default {      computed:{        ...mapGetters([          'oneState'         ])      },      },      methods:{          test(){              this.$store.commit('setItem', 'two')          }      }总结好了,基本的开发流程就是这样,具体的开发大部分还是像vue开发那样,自己在开发的时候,遇到的坑还是有的,但网上基本都能找到解决方案,具体遇到的时候就查一查都能查到,收获很多。 最后这还有一个用vue开发的版本可在线预览,建议用chrome的手机模式预览
1. 首先,需要在小程序的 app.json 文件中添加一个页面: ``` "pages": [ "pages/news/news" ], ``` 2. 创建一个 news 页面,包含一个列表和新闻项组件。在 news.wxml 文件中添加以下代码: ``` <view class="news-list"> <block wx:for="{{newsList}}" wx:key="index"> <news-item title="{{item.title}}" date="{{item.date}}" cover="{{item.cover}}" url="{{item.url}}" /> </block> </view> ``` 3. 在 news 页面的 js 文件中,定义数据和获取新闻列表的方法: ``` Page({ data: { newsList: [] // 新闻列表 }, onLoad: function () { // 获取新闻列表 wx.request({ url: 'https://api.example.com/news', success: res => { this.setData({ newsList: res.data }) } }) } }) ``` 4. 创建一个 news-item 组件,用于显示单个新闻项。在 news-item.wxml 文件中添加以下代码: ``` <view class="news-item"> <image class="news-cover" src="{{cover}}" mode="aspectFill" /> <view class="news-info"> <view class="news-title">{{title}}</view> <view class="news-date">{{date}}</view> </view> </view> ``` 5. 在 news-item 组件的 js 文件中,定义属性和点击事件: ``` Component({ properties: { title: String, date: String, cover: String, url: String }, methods: { onTap: function () { // 点击跳转到新闻详情页 wx.navigateTo({ url: '/pages/news/detail?url=' + encodeURIComponent(this.data.url) }) } } }) ``` 6. 创建一个 news-detail 页面,用于显示新闻详情。在 news-detail 页面的 js 文件中,获取 url 参数并在页面中显示新闻内容: ``` Page({ data: { content: '' // 新闻内容 }, onLoad: function (options) { // 获取新闻内容 wx.request({ url: decodeURIComponent(options.url), success: res => { this.setData({ content: res.data }) } }) } }) ``` 以上就是一个简单的微信小程序新闻列表的实现。需要注意的是,实际开发中需要处理一些异常情况,例如请求失败、没有数据等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值