最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • Uni-app 入门实践

    正文概述 掘金(神偷野爸)   2021-02-27   929

    官方文档 | 链接

    参考文档 | 链接 | 看云

    推荐视频教程 | B站某马官方发布的入门项目实战教程

    介绍

    uni-app是什么?

    Uni-app 入门实践

    推荐UI

    uView

    二、uni-app基础

    01 基本语法

    数据的展示

    定义:在data定义

    使用:在tempelate中插值{{ }}使用,不需要使用this

    注意点:在属性中不需要括号,属性名前需要加‘:’,这一点区别于微信小程序。

    数据循环

    微信小程序中的用法

    wx:for="{{数据源}}" wx:for-index="index的别名" wx:for-item="item的别名"

    vue中的用法

    vue-for="item in 数据源" 或者 vue-for="(item,index) in 数据源"
    
    <view v-for="(item) in list" :key="item.id">
      {{item.name}} --- {{item.id}}
    </view>
    
    // 数组
    list: [
      {id:0,name:'张三'},
      {id:1,name:'李四'},
      {id:2,name:'王五'},
    ]
    
    • 条件编译

    v-if:操作DOM,需要重新编译,所以不适合频繁切换
    v-show:只操作样式,不管显不显示,都会存在这个元素

    计算属性

    类似于计算数据的处理接口,减少在模板中对数据的复杂逻辑操作,比如数据过滤,去除不要渲染的某个或某些数据

    // 使用计算属性
    <view>
      <view v-for="item in filterList" :key="item.id">
        {{item.name}}
      </view>
    </view>
    // 计算属性节点
    computed:{
    money(){
    
    return "$" + this.num
    
    },
    
    filterList(){
        // 使用过滤
        return this.list.filter(item=>item.id<=0)
                }
            }
    

    filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

    注意: filter() 不会对空数组进行检测,filter() 不会改变原始数组。是JS数组的方法,不是vue中的过滤器,常见的有forEach, map, filter。

    02 事件

    案例1:和vue用法一致
    同样使用@click="handleClick"

    <template></template>
        <view>
            <view @click="handleClick">点击</view>
        </view>
    </template>
    
    <script>
        export default {
            methods:{
                handleClick () {
                    console.log('view被点击了,事件被触发,函数被执行');
                }
            }
        }
    </script>
    
    <style lang="scss">
    
    </style>
    

    Uni-app 入门实践

    案例2:传自定义属性

    自定义属性来自微信原生小程序

    <template>
        <view>
            <view data-index="11" @click="handleClick1($event)">点击1</view>
        </view>
    </template>
    
    <script>
        export default {
            methods:{
                handleClick1 (event) {
            // event.currentTarget.dataset.index
                    console.log(event)
                }
            }
        }
    </script>
    
    <style lang="scss">
    </style>
    

    Uni-app 入门实践

    案例3:传自定义属性+普通参数
    放置的顺序可以灵活调整

    <template>
        <view>
            <view data-index="11" @click="handleClick1($event,1)">点击1</view>
        </view>
    </template>
    
    <script>
        export default {
            methods:{
                handleClick1 (event,index) {
                    console.log(event);
                    console.log(index);
                }
            }
        }
    </script>
    
    <style lang="scss">
    </style>
    

    Uni-app 入门实践

    03 组件

    组件的使用流程
    定义、引入、注册、使用。

    组件的传参
    父向子:父向子先父,属性

    Uni-app 入门实践

    子向父:子向父先子,事件

    Uni-app 入门实践

    uni-app全局数据传递

    Uni-app 入门实践

    第一种方式:在main.js中定义,使用this.baseUrl 直接调用
    Vue.prototype.baseUrl = 'www.baidu.com ' + ' Vue.prototype.baseUrl'

    第二种方式:在App.vue中定义,使用getApp().globalData.baseUrl 调用
    globalData:{ baseUrl:'www.baidu.com ' + ' getApp().globalData.baseUrl' }

    第三种方式:vue中vuex的用法,这一点参考vue官方文档。

    第四种方式:本地存储,请查看官方文档API。

    组件的插槽

    父向子通过 slot标签占位 传递具体的标签
    注意:输入框input没有颜色,表面看不见,slot标签需要被view标签包裹,否则不会显示。

    Uni-app 入门实践

    04 生命周期对比

    uni-app的生命周期

    参考链接

    应用 onlaunch 当uni-app 初始化完成时触发 App.vue

    页面 onLoad 监听页面加载 页面.vue

    组件 created 当组件创建完成 mounted 当组件创建完成完成 组件.vue

    微信小程序的生命周期

    参考链接

    vue的生命周期

    参考链接

    三、示例项目

    01 命令行创建项目

    Uni-app 入门实践

    // 安装vue脚手架
    npm install -g @vue/cli
    
    // 创建uni-app项目
    vue create -p dcloudio/uni-preset-vue my-project
    
    // 模板选择
    选择默认模板
    
    // 运行生成mp-weixin文件夹
    npm run dev:mp-weixin
    npm run dev:h5   // 直接在浏览器输入本地URL访问
    
    
    // 如果是微信小程序,则需要导入生成的文件夹mp-weixin编译运行,位置:my-project\dist\dev\mp-weixin
    打开微信开发者工具
    

    H5运行效果

    Uni-app 入门实践

    微信小程序运行效果

    Uni-app 入门实践

    微信小程序运行效果

    Uni-app 入门实践

    02 HBuilder X面板创建项目

    Uni-app 入门实践

    03 文件结构

    Uni-app 入门实践

    Uni-app 入门实践

    04 基本配置、清理

    Sass样式使用配置

    Uni-app 入门实践

    npm install sass-loader node-sass
    

    compile-node-sass编译插件安装

    编译scss/sass为css。uni-app编译或对文件右键-外部命令编译时使用

    清理示例组件的内容

    <template>
    </template>
    
    <script>
        export default {
    
        }
    </script>
    
    <style>
    
    </style>
    

    内置Sass样式使用

    <template>
        <view class="content">
            <view class="rpx">rpx</view>
            <view class="vhvw">vw</view>
            <view class="sass">sass</view>
        </view>
    </template>
    
    <script>
        export default {
    
        }
    </script>
    
    <style lang="scss">
    .rpx{
        background-color: blanchedalmond;
        width: 750rpx;
        height: 150rpx;
    }
    .vhvw{
        background-color: #2B8ACE;
        width: 100vw;
        height: 10vh;
    }
    .sass{
        background-color: #FFC600;
      // sass内置样式的使用
        color: $uni-color-success;
    }
    
    </style>
    

    起源地下载网 » Uni-app 入门实践

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元