基于Node.js的项目: node_modules
基于HBuilder的项目: SDK(Software Development Kit,软件开发工具包)
uni-app是一个基于Vue.js的“多端适配”框架,一套代码可以编译为H5、WebApp、HybridApp、各类小程序,语法:50%是Vue.js、50%是微信小程序
uni-app中的template —— 基本结构类似于Vue.js,可用的标签(基础组件)类似于小程序
<template>
<view><text>文字</text></view>
</template>
可用的标签:
1)内置组件(高仿小程序) view、text、navigator、icon、image、input、button、swiper、map
2)官方+第三方扩展组件库(uni-ui库):uni-icons、uni-drawer、uni-list/uni-list-item、....
3)自定义组件,例如: ①创建 ②声明 ③使用
export default {
props: //组件的自定义属性
data: //组件的模型数据(MVVM中的Model)
computed: // 计算属性
onLoad(){://生命周期类似于小程序
uni.pageScrollTo( )
uni.navigateTo( )
uni.navigateBack( )
uni.redirectTo( )
uni.switchTab( )
uni.reLaunch( )
uni.request( )
}
}
<style scoped lang="scss">
:not(not){ box-sizing: border-box; }
page { margin: 10rpx;color: $...; background-color: $..; }
// 组件(components)的样式中不能使用“标签选择器”;但页面(pages)的样式中可以使用
// 自定义组件/扩展组件大多不能使用style和class属性
</style>
一个uni-app项目,可以编译为H5、WebApp、各类小程序…
但是,各种平台底层有些天然不可能兼容的特性,例如:关闭按钮;
有些时候需要针对特定的平台编写特定的代码,在编译时只有符合当前平台的代码才会被保留——条件编译。
在template中使用条件编译:
<!-- #ifdef 平台 -->
<!-- #endif -->
在script中使用条件编译:
// #ifdef 平台
// #endif
在style中使用条件编译:
/* #ifdef 平台 */
/* #endif */
重要知识点:小程序中的CSS选择器 |
---|
pages/index/index.wxss: 选择器 —— 标签选择器、类选择器、ID选择器 |
components/XzGoTop/XzGoTop.wxss: 选择器 —— 不能使用标签选择器!!! |
微信小程序中的自定义组件中不能使用“标签选择器” |
重要知识点:自定义组件和扩展组件的样式 |
---|
标签选择器只能是“基础组件”,例如:text、input、button…但是不能用于“自定义组件”或“扩展组件”,因为这些组件内容可能极其复杂;同时,“自定义组件”或“扩展组件”也不能使用“类选择器”进行选择! |
控制“自定义组件”或“扩展组件”的样式可以使用: |
---|
方法1:自定义组件把需要修改的样式公开为自己的属性,例如: |
方法2:在自定义组件的外面再套一个父容器 |
{{表达式}}
data: age=25
方向1:Model => View
方向2:View => Model
AJAX:是一种页面效果,不刷新/不提交就可以实现页面的布局更新