Skip to content

Commit

Permalink
1.6.5
Browse files Browse the repository at this point in the history
更新组件,模板,store等章节
  • Loading branch information
imouou committed May 12, 2021
1 parent 8300799 commit 25ae6b0
Show file tree
Hide file tree
Showing 13 changed files with 306 additions and 25 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.DS_Store
1 change: 1 addition & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
| 更新部分章节 |2019-12-05 |
| 1.6.0 |2020-3-31 |
| 更新混入,组件化,权限,发布订阅等章节 |2020-4-20 |
| 更新组件,模板,store等章节 |2021-5-12 |

!> 注意: `1.6.x`,`1.5.x` 的切图规范为 `750px` 设计稿, `1.4.x` 旧版切图规范为 `540px` 设计稿, `1.4.x`不能直接替换更新, 请先确保你的文档跟你当前开发的bui版本一致. `bui.version`可以查看版本, `bui.currentPlatform`可以查看当前`bui.js` 属于哪个平台.

Expand Down
125 changes: 125 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,131 @@
[TOC]


## 1.6.5 20210511

### 升级指南

** 一, 资源替换: **

执行命令, 选择你使用的平台, buijs 需要更新到 0.5.0 命令才会生效

```
# 更新 webapp 平台 bui.css, bui.js
$ buijs update
# 更新 dcloud 平台 bui.css, bui.js
$ buijs update -p dcloud
# 更新 apicloud 平台 bui.css, bui.js
$ buijs update -p apicloud
# 更新 appcan 平台 bui.css, bui.js
$ buijs update -p appcan
```

### bui.swipe
1. 修复滑动类冲突

### bui.listview
1. 修复滑动类冲突

### bui.sidebar
1. 修复滑动类冲突

### bui.store
1. 修复b-click 的传参修复;
2. 新增 $itemIndex, $itemText, $itemHtml, $itemId, $item 等参数 直接返回跟数组索引相关的参数, 比 $index b-target 简单些。

### bui.select
1. 修复搜索的选项点击会触发2次,后续操作也无法选中


### bui.dialog
1. 新增 disableOpen,enableOpen,disableClose,enableClose等方法


## 1.6.4 20210202

### 升级指南

** 一, 资源替换: **

执行命令, 选择你使用的平台, buijs 需要更新到 0.5.0 命令才会生效

```
# 更新 webapp 平台 bui.css, bui.js
$ buijs update
# 更新 dcloud 平台 bui.css, bui.js
$ buijs update -p dcloud
# 更新 apicloud 平台 bui.css, bui.js
$ buijs update -p apicloud
# 更新 appcan 平台 bui.css, bui.js
$ buijs update -p appcan
```


### API文档错乱问题
### 适配新机型 iphonex iphone12
### bui.slide, bui.sidebar, bui.swipe, bui.listview, bui.pullrefresh 全面支持PC滑动交互.

### bui.router
1. 新增路由对?module=pages/xxx 的自动解析, 便于跟第三方网址配合
2. 修复 fisrstAnimate 路由跳转优先问题
3. 修复 beforeLoad 参数问题
4. 新增 #module.id 编译成页面id, 实现局部样式处理, 例如 #module.id header {} 就会替换成页面id.
5. 修复路由的progress问题
6. 新增后退传参给show生命周期

### bui.store
1. 模板对component 标签的支持, 自动编译;
2. 修复b-click 传数字大于16位的时候, 被四舍五入的问题

### bui.select
1. 静态自定义模板的选中问题;
2. 修复check 事件获取 this.value 问题;

### bui.dialog
1. 修复通过iframe调用父层的对话框,会导致按钮报错问题;

### bui.pickerdate
1. 新增values方法, 设置获取多个日期的值


### bui.slide
1. 修复跨屏效果;
2. 支持PC滑动

### bui.sidebar
1. 支持PC滑动

### bui.tab
1. 支持PC滑动
2. 支持组件传参, 需要everytime:true才会有效.

### bui.listview
1. 支持PC滑动

### bui.pullrefresh
1. 支持PC滑动

### bui.swipe
1. 支持PC滑动

### bui.number
1. 新增小数点支持;

### bui.platform
1. 修复了 isMac 的判断, 之前会对iphone12 跟 mac 造成相同类型.
2. 新增isPC方法, 非(安卓,iphone,ipad) 都算是PC端
3. 新增isMobile方法, 安卓,iphone,ipad 都算是移动端

### bui.floor
1. 修复若干问题


## 1.6.3 20201109

### 升级指南
Expand Down
8 changes: 5 additions & 3 deletions docs/chapter1/about.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

?> 结合BUI提供的[BUI-Fast编辑插件](buifast), [NPM工具](chapter1/installation), BUI更是一个移动快速开发的解决方案. 可以解决以下常见问题.

- 多页开发-结合php,jsp,asp等传统开发
- 单页开发-前后分离的开发方式
- 移动端的适配兼容问题
- 交互体验不统一问题
- 复杂交互的控件冲突问题
Expand All @@ -22,7 +24,7 @@
- 本地服务器架设问题
- 脚本编译问题
- 打包安全问题
- 同步刷新问题
- 多端同步刷新
- 开发效率问题
- 使用规范问题

Expand All @@ -47,8 +49,8 @@
## 起步

?> BUI 支持两种开发方式, `多页开发``单页开发`基本保持一致.
- 多页指传统的web开发,类似a标签跳转,可以跟后台语言结合;
- 单页开发不受平台限制,保持一致交互体验.
- `多页开发`指传统的web开发,类似a标签跳转,可以跟后台语言(PHP,JAVA,.Net)结合;
- `单页开发`不受平台限制,app般的丝滑交互体验.

- [多页开发](/chapter1/quickstart) `简单` `性能好`

Expand Down
4 changes: 2 additions & 2 deletions docs/chapter1/debug.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,8 +72,8 @@ bui.ajax({

?> DebugTool是手机上的一个应用,可以预览远程地址,并输出console.log的相关信息, 必须使用第一种跨域方式,才能在手机预览.

* [安卓版下载](http://www.easybui.com/downloads/source/debugtool/DebugTool-v3.4.0.apk)
* [IOS版下载](http://www.easybui.com/downloads/source/debugtool/DebugTool-v1.0.ipa)
* [安卓版下载](http://www.easybui.com/downloads/source/debugtool/com.gz.debugtool.apk)
* [IOS版下载](http://www.easybui.com/downloads/source/debugtool/com.gz.debugtool.ipa)


## 微信调试缓存
Expand Down
92 changes: 82 additions & 10 deletions docs/chapter2/loader.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,16 @@

### loader.define

*loader.define 定义一个匿名模块. *
*loader.define 定义一个匿名模块.*

```js
loader.define(function(require,exports,module){
loader.define(function(require,exports,module,global){

// 以下几个参数非必须,如果前面加载了依赖,则这三个参数后移;
// require : 相当于 loader.require, 获取依赖的模块
// exports : 如果没有return 可以采用这种方式输出模块
// module : 拿到当前模块信息
// global: 全局定义的方法

// 第一次加载会执行一次

Expand All @@ -42,14 +43,85 @@ loader.define(function(require,exports,module){
4. 避免循环嵌套自身, 在loader.define 里面 又 require 加载当前模块, 这个时候还没实例化,就会造成死循环;
5. 作为依赖的模块, 里面不要执行, 应该返回对象给外层调用的方式;

!> 模块是一个闭包,如果不抛出方法,外部无法访问,如果html使用 `onclick="getName"` 这样的事件属性,是找不到定义的 `getName`方法的,应该在模块里面使用事件绑定的方式或者使用`bui.store`,例如:

1. *错误的事件绑定做法*
```html
// 错误的事件绑定做法,访问不到对应的方法名
<div id="btnGetName" onclick="getName('姓名')">点击弹出姓名</div>
```

```js
loader.define(function(){
function getName(str){
alert(str)
}

return {
getName
}
})
```

2. *常用的事件绑定做法*

事件需要做好管理
```html
<div id="btnGetName">点击弹出姓名</div>
```

```js
loader.define(function(){
function getName(str){
alert(str)
}

// 普通的事件绑定, router.$ 用于解决单页面多次加载id冲突问题
router.$("#btnGetName").click(function(e){
getName("姓名")
})

return {
getName
}
})
```

3. *推荐做法,需要了解更多知识*

```html
<div class="bui-page">
<div id="btnGetName" b-click="page.getName('姓名')">点击弹出姓名</div>
</div>
```

```js
// 推荐做法,需要了解更多知识
loader.define(function(){

var bs = bui.store({
el:".bui-page", // 默认值
scope:"page",
methods:{
getName:function (str){
alert(str)
}
}
})

return bs;
})
```


## 加载模块
### loader.require

>假设我们定义了一个匿名模块, 是在pages/page2/目录下, 目录下有 page2.html ,page2.js 两个文件. 则默认匿名模块的 模块名是 pages/page2/page2 会根据.html 文件提取前面路径作为模块名.
>假设我们定义了一个匿名模块, 是在`pages/page2/`目录下, 目录下有 page2.html ,page2.js 两个文件. 则默认匿名模块的 模块名是 `pages/page2/page2` 会根据.html 文件提取前面路径作为模块名.
page2.js
```js
loader.define(function(require,exports,module){
loader.define(function(require,exports,module,global){

// 定义初始化
function init(text){
Expand All @@ -66,11 +138,11 @@ loader.define(function(require,exports,module){
}
})
```
>现在我们想在刚刚的main.js里面加载这个模块,调用pages/page2/page2 的名称.
>现在我们想在刚刚的main.js里面加载这个模块,调用`pages/page2/page2` 的名称.
main.js
```js
loader.define(function(require,exports,module){
loader.define(function(require,exports,module,global){

// 1. 加载pages/page2/page2模块 方法1: 这里会自执行一次 init. 输出自执行. 如果该模块已经加载过了,这里则不会执行.
require("pages/page2/page2");
Expand Down Expand Up @@ -341,8 +413,8 @@ window.loader = bui.loader({
main.js
```js
// 依赖前置, 这种会优先加载完 page2,page3模块以后再执行main的回调. page2,page3 只定义,不执行.
loader.define(["pages/page2/page2","pages/page3/page3"],function(page2,page3,require,exports,module){
// 如果需要用到当前模块信息的话, page3后面依次还有 require,exports,module
loader.define(["pages/page2/page2","pages/page3/page3"],function(page2,page3,require,exports,module,global){
// 如果需要用到当前模块信息的话, page3后面依次还有 require,exports,module,global

})
```
Expand All @@ -355,7 +427,7 @@ loader.define(["pages/page2/page2","pages/page3/page3"],function(page2,page3,req

*pages/page2/page2.js*
```js
loader.define("page2",function(require,exports,module){
loader.define("page2",function(require,exports,module,global){
// 这里是page2的业务逻辑
})

Expand Down Expand Up @@ -393,7 +465,7 @@ bui.ready(function(){

*pages/page2/page2.js*
```js
loader.define("page2",function(require,exports,module){
loader.define("page2",function(require,exports,module,global){
// 这里是page2的业务逻辑
})

Expand Down
2 changes: 1 addition & 1 deletion docs/chapter2/router.md
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,7 @@ router.on("refresh",function(e){
```
### loadpart 事件

?> 页面局部加载后触发
?> 页面局部加载后触发,不再推荐,可以留意组件方面的介绍

```
router.on("loadpart",function(e){
Expand Down
18 changes: 18 additions & 0 deletions docs/chapter2/template.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,24 @@
</div>
```


!> 1.6.5 新增,支持作用域, `#module.id` 会替换为该组件唯一的id, 仅支持单页。


```html
<style>
#module.id .bui-page .bui-bar {
background:red;
}
#module.id .bui-page main {
background:#ddd;
}
</style>
<div class="bui-page bui-box-vertical page-home">
...
</div>
```

## 组件模板

?> 跟单页模板一样, 但颗粒度会更小一点. 比方轮播图.
Expand Down
Loading

0 comments on commit 25ae6b0

Please sign in to comment.