Skip to content

Commit aa6aaa3

Browse files
committed
Merge remote-tracking branch 'upstream/2.0-cn' into 2.0-cn
2 parents c782360 + dfba254 commit aa6aaa3

27 files changed

+72
-73
lines changed

src/api/index.md

Lines changed: 28 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1114,7 +1114,7 @@ type: api
11141114

11151115
- **用法:**
11161116

1117-
监听一个自定义事件,但是只触发一次,在第一次触发之后删除监听器
1117+
监听一个自定义事件,但是只触发一次,在第一次触发之移除除监听器
11181118

11191119
<h3 id="vm-off">vm.$off( [event, callback] )</h3>
11201120

@@ -1124,13 +1124,13 @@ type: api
11241124

11251125
- **用法:**
11261126

1127-
删除事件监听器
1127+
移除事件监听器
11281128

1129-
- 如果没有参数,则删除所有的事件监听器
1129+
- 如果没有提供参数,则移除所有的事件监听器
11301130

1131-
- 如果只提供了事件,则删除这个事件所有的监听器
1131+
- 如果只提供了事件,则移除该事件所有的监听器
11321132

1133-
- 如果同时提供了事件与回调,则只删除这个回调
1133+
- 如果同时提供了事件与回调,则只移除这个回调的监听器
11341134

11351135
<h3 id="vm-emit">vm.$emit( event, [...args] )</h3>
11361136

@@ -1152,9 +1152,9 @@ type: api
11521152

11531153
- **用法:**
11541154

1155-
如果 Vue 实例在实例化时没有收到 el 选项,则它处于“未挂载”状态,没有关联的 DOM 元素或片断。可以使用 `vm.$mount()` 手动地挂载一个未挂载的实例。
1155+
如果 Vue 实例在实例化时没有收到 el 选项,则它处于“未挂载”状态,没有关联的 DOM 元素。可以使用 `vm.$mount()` 手动地挂载一个未挂载的实例。
11561156

1157-
如果没有 `elementOrSelector` 参数,模板将被渲染为文档之外的的元素,并且你必须使用原生DOM API把它插入文档中。
1157+
如果没有提供 `elementOrSelector` 参数,模板将被渲染为文档之外的的元素,并且你必须使用原生DOM API把它插入文档中。
11581158

11591159
这个方法返回实例自身,因而可以链式调用其它实例方法。
11601160

@@ -1226,7 +1226,7 @@ type: api
12261226

12271227
完全销毁一个实例。清理它与其它实例的连接,解绑它的全部指令及事件监听器。
12281228

1229-
`beforeDestroy``destroyed` 之间触发
1229+
触发 beforeDestroy 和 destroyed 的钩子
12301230

12311231
<p class="tip">在大多数场景中你不应该调用这个方法。最好使用 `v-if` 和 `v-for` 指令以数据驱动的方式控制子组件的生命周期。</p>
12321232

@@ -1240,7 +1240,7 @@ type: api
12401240

12411241
- **详细:**
12421242

1243-
更新元素的 `textContent`如果要更新 `textContent` 部分,需要使用 `{% raw %}{{ Mustache }}{% endraw %}` 插值。
1243+
更新元素的 `textContent`如果要更新部分的 `textContent` ,需要使用 `{% raw %}{{ Mustache }}{% endraw %}` 插值。
12441244

12451245
- **示例:**
12461246

@@ -1259,7 +1259,7 @@ type: api
12591259
- **详细:**
12601260

12611261

1262-
更新元素的 `innerHTML`**注意:内容按普通 HTML 插入 - 不会作为 Vue 模板进行编译** 。如果试图使用 `v-html` 组合模板,可以重新思考通过是否通过使用组件来替代。
1262+
更新元素的 `innerHTML`**注意:内容按普通 HTML 插入 - 不会作为 Vue 模板进行编译** 。如果试图使用 `v-html` 组合模板,可以重新思考通过是否通过使用组件来替代。
12631263

12641264
<p class="tip">在网站上动态渲染任意 HTML 是非常危险的,因为容易导致 [XSS 攻击](https://en.wikipedia.org/wiki/Cross-site_scripting)。只在可信内容上使用 `v-html`,**永不**用在用户提交的内容上。</p>
12651265

@@ -1278,7 +1278,7 @@ type: api
12781278

12791279
根据表达式的值的真假条件渲染元素。在切换时元素及它的数据绑定 / 组件被销毁并重建。如果元素是 `<template>` ,将提出它的内容作为条件块。
12801280

1281-
该指令在条件变化时触发改变
1281+
当条件变化时该指令触发过渡效果
12821282

12831283
- **另见** [条件渲染 - v-if](/guide/conditional.html)
12841284

@@ -1288,9 +1288,9 @@ type: api
12881288

12891289
- **用法:**
12901290

1291-
根据表达式的值的真假切换元素的 display CSS 属性,如果有过渡将触发它
1291+
根据表达式之真假值,切换元素的 display CSS 属性。
12921292

1293-
该指令在条件变化时触发改变
1293+
当条件变化时该指令触发过渡效果
12941294

12951295
- **另见:** [条件渲染 - v-show](/guide/conditional.html#v-show)
12961296

@@ -1322,7 +1322,7 @@ type: api
13221322

13231323
- **用法:**
13241324

1325-
基于源数据将元素或模板块重复数次。指令的值必须使用特定语法 `alias in expression` ,为当前遍历的元素提供别名:
1325+
基于源数据多次渲染元素或模板块。此指令之值,必须使用特定语法 `alias in expression` ,为当前遍历的元素提供别名:
13261326

13271327
``` html
13281328
<div v-for="item in items">
@@ -1364,7 +1364,7 @@ type: api
13641364
- `.stop` - 调用 `event.stopPropagation()`
13651365
- `.prevent` - 调用 `event.preventDefault()`
13661366
- `.capture` - 添加事件侦听器时使用 capture 模式。
1367-
- `.self` - only trigger handler if event was dispatched from this element.
1367+
- `.self` - 只当事件是从侦听器绑定的元素本身触发时才触发回调。
13681368
- `.{keyCode | keyAlias}` - 只当事件是从侦听器绑定的元素本身触发时才触发回调。
13691369
- `.native` - 监听组件根元素的原生事件。
13701370

@@ -1436,13 +1436,13 @@ type: api
14361436

14371437
- **用法:**
14381438

1439-
动态地绑定一个或多个 attribute,或一个组件 prop 到表达式。
1439+
动态地绑定一个或多个特性,或一个组件 prop 到表达式。
14401440

1441-
在绑定 `class``style` 属性时,支持其它类型的值,如数组或对象。可以通过下面的教程链接查看详情。
1441+
在绑定 `class``style` 特性时,支持其它类型的值,如数组或对象。可以通过下面的教程链接查看详情。
14421442

14431443
在绑定 prop 时,prop 必须在子组件中声明。可以用修饰符指定不同的绑定类型。
14441444

1445-
没有参数时,可以绑定到一个包含 name-value 的对象。注意此时 `class``style` 绑定不支持数组和对象。
1445+
没有参数时,可以绑定到一个包含键值对的对象。注意此时 `class``style` 绑定不支持数组和对象。
14461446

14471447
- **示例:**
14481448

@@ -1462,7 +1462,7 @@ type: api
14621462
<div :style="{ fontSize: size + 'px' }"></div>
14631463
<div :style="[styleObjectA, styleObjectB]"></div>
14641464

1465-
<!-- 绑定一个对象属性 -->
1465+
<!-- 绑定一个有属性的对象 -->
14661466
<div v-bind="{ id: someProp, 'other-attr': otherProp }"></div>
14671467

14681468
<!-- 通过 prop 修饰符绑定 DOM 属性 -->
@@ -1576,7 +1576,7 @@ type: api
15761576

15771577
`key` 的特殊属性主要用在 Vue的虚拟DOM算法,在新旧nodes对比时辨识VNodes。如果不使用key,Vue会使用一种最大限度减少动态元素并且尽可能的尝试修复/再利用相同类型元素的算法。使用key,它会基于key的变化重新排列元素顺序,并且会移除key不存在的元素。
15781578

1579-
相同公共父元素的子元素必须有**独特的key**。重复的key会造成渲染错误。
1579+
有相同父元素的子元素必须有**独特的key**。重复的key会造成渲染错误。
15801580

15811581
最常见的用例是结合 `v-for`:
15821582

@@ -1588,8 +1588,8 @@ type: api
15881588

15891589
它也可以用于强制替换元素/组件而不是重复使用它。当你遇到如下场景时它可能会很有用:
15901590

1591-
- 正确的触发组件的生命周期hooks
1592-
- 触发转换
1591+
- 正确的触发组件的生命周期钩子
1592+
- 触发过渡
15931593

15941594
例如:
15951595

@@ -1635,13 +1635,13 @@ type: api
16351635

16361636
### component
16371637

1638-
- **特性**
1638+
- **Props**
16391639
- `is` - string | ComponentDefinition | ComponentConstructor
16401640
- `inline-template` - boolean
16411641

16421642
- **用法:**
16431643

1644-
动态渲染一个“元组件”。实际由 `is` 属性决定哪个渲染组件
1644+
渲染一个“元组件”为动态组件。依 `is` 的值, 来决定哪个组件被渲染
16451645

16461646
```html
16471647
<!-- 动态组件由 vm 实例的属性值 `componentId` 控制 -->
@@ -1655,7 +1655,7 @@ type: api
16551655

16561656
### transition
16571657

1658-
- **特性**
1658+
- **Props**
16591659
- `name` - string, 用于自动生成 CSS 过渡类名。例如:`name: 'fade'` 将自动拓展为`.fade-enter``.fade-enter-active`等。默认类名为 `"v"`
16601660
- `appear` - boolean, 是否在初始渲染时使用过渡。默认为 `false`
16611661
- `css` - boolean, 是否使用 CSS 过渡类。默认为 `true`。如果设置为 `false`,将只通过组件事件触发注册的 JavaScript 钩子。
@@ -1718,7 +1718,7 @@ type: api
17181718

17191719
### transition-group
17201720

1721-
- **特性**
1721+
- **Props**
17221722
- `tag` - string, 默认为 `span`
17231723
- `move-class` - 覆盖移动过渡期间应用的 CSS 类。
17241724
- 除了 `mode`,其他特性和 `<transition>` 相同。
@@ -1780,15 +1780,14 @@ type: api
17801780

17811781
### slot
17821782

1783-
- **特性**
1783+
- **Props**
17841784
- `name` - string, 用于命名插槽。
17851785

17861786
- **Usage:**
17871787

17881788
`<slot>` 元素作为组件模板之中的内容分发插槽。 `<slot>` 元素自身将被替换。
17891789

1790-
详细用法,请参考下面 guide 部分的链接。
1791-
For detailed usage, see the guide section linked below.
1790+
详细用法,请参考下面教程的链接。
17921791

17931792
- **另见:** [使用Slots分发内容](/guide/components.html#使用Slots分发内容)
17941793

src/guide/comparison.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -308,7 +308,7 @@ Knockout 是 MVVM 领域内的先驱,并且追踪依赖。它的响应系统
308308

309309
## Polymer
310310

311-
Polymer 是另一个由谷歌赞助的项目,事实上也是 Vue 的一个灵感来源。Vue 的组件可以粗略的类比于 Polymer 的自定义元素,并且两者具有相似的开发风格。最大的不同之处在于,Polymer 是基于最新版的 Web Components 标准之上,并且需要重大的 polyfills 来帮助工作(性能下降),浏览器本身并不支持这些功能。相比而言,Vue 在支持到 IE9 的情况下并不需要依赖 polyfills 来工作,。
311+
Polymer 是另一个由谷歌赞助的项目,事实上也是 Vue 的一个灵感来源。Vue 的组件可以粗略的类比于 Polymer 的自定义元素,并且两者具有相似的开发风格。最大的不同之处在于,Polymer 是基于最新版的 Web Components 标准之上,并且需要重量级的 polyfills 来帮助工作(性能下降),浏览器本身并不支持这些功能。相比而言,Vue 在支持到 IE9 的情况下并不需要依赖 polyfills 来工作,。
312312

313313
在 Polymer 1.0 版本中,为了弥补性能,团队非常有限的使用数据绑定系统。例如,在 Polymer 中唯一支持的表达式只有布尔值否定和单一的方法调用,它的 computed 方法的实现也并不是很灵活。
314314

src/guide/list.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,7 @@ Vue 包含一组观察数组的突变方法,所以它们也将会触发视图
365365

366366
### 重塑数组
367367

368-
突变方法,顾名思义,改变原始数组的称呼。相比之下,也有不改变原组数的方法,例如: `filter()``concat()``slice()` 。这些不会改变原始数组,但总是返回一个新的数组。当用不改变原数组的方法时,你只需替换旧数组用新的:
368+
重塑数组,顾名思义,改变原始数组的称呼。相比之下,也有不改变原组数的方法,例如: `filter()``concat()``slice()` 。这些不会改变原始数组,但总是返回一个新的数组。当用不改变原数组的方法时,你只需替换旧数组用新的:
369369

370370
``` js
371371
example1.items = example1.items.filter(function (item) {

src/guide/single-file-components.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ order: 19
66

77
## 介绍
88

9-
在很多Vue项目中,全局组件使用 `Vue.component` 来定义,紧接着用 `new Vue({ el: '#container '})` 在每个页面内指定一个容器元素。
9+
在很多Vue项目中,我们使用 `Vue.component` 来定义全局组件,紧接着用 `new Vue({ el: '#container '})` 在每个页面内指定一个容器元素。
1010

11-
JavaScript 只是用来增强某个视图的时候,这种方案在中小型项目中工作得很好。然而在更复杂的项目中,或者当你的前端完全采用 JavaScript 驱动的时候,以下弊端就显现出来:
11+
这种方案在只是使用 JavaScript 增强某个视图的中小型项目中表现得很好。然而在更复杂的项目中,或者当你的前端完全采用 JavaScript 驱动的时候,以下弊端就显现出来:
1212

1313
- **全局定义(Global definitions)** 强制要求每个 component 中的命名不得重复
1414
- **字符串模板(String templates)** 缺乏语法高亮,在 HTML 有多行的时候,需要用到丑陋的 `/`
15-
- **不支持CSS(No CSS support)** 意味着当 HTML 和 JavaScript 在组件中都是模块化时,CSS 明显被遗漏
15+
- **不支持CSS(No CSS support)** 意味着当 HTML 和 JavaScript 组件化时,CSS 明显被遗漏
1616
- **没有构建步骤(No build step)** 限制只能使用 HTML 和 ES5 JavaScript, 而不能使用预处理器,如 Pug (formerly Jade) 和 Babel
1717

18-
文件扩展名为 `.vue`**single-file components(单文件组件)** 正是用来解决以上所有的问题,并且还可以使用 Webpack 或 Browserify 等开发工具
18+
文件扩展名为 `.vue`**single-file components(单文件组件)** 为以上所有问题提供了解决方法,并且还可以使用 Webpack 或 Browserify 等构建工具
1919

2020
这是一个文件名为 `Hello.vue` 的简单实例:
2121

@@ -25,43 +25,43 @@ order: 19
2525

2626
- [完整语法高亮](https://github.com/vuejs/awesome-vue#syntax-highlighting)
2727
- [CommonJS 模块](https://webpack.github.io/docs/commonjs.html)
28-
- [Component-scoped CSS](https://github.com/vuejs/vue-loader/blob/master/docs/en/features/scoped-css.md)
28+
- [组件化的 CSS](https://github.com/vuejs/vue-loader/blob/master/docs/en/features/scoped-css.md)
2929

30-
正如我们说过的,我们可以使用预处理器来完成简洁和功能更丰富的组件,比如 Jade,Babel (with ES2015 modules),和 Stylus。
30+
正如我们说过的,我们可以使用预处理器来构建简洁和功能更丰富的组件,比如 Jade,Babel (with ES2015 modules),和 Stylus。
3131

3232
<img src="/images/vue-component-with-preprocessors.png" style="display: block; margin: 30px auto">
3333

34-
这些特定的语言只是例子,你可以只是简单地使用 Buble,TypeScript,SCSS,PostCSS - 或者一些其他的能够帮助你提高生产力的预处理器
34+
这些特定的语言只是例子,你可以只是简单地使用 Buble,TypeScript,SCSS,PostCSS - 或者其他任何能够帮助你提高生产力的预处理器
3535

3636
<!-- TODO: include CSS modules once it's supported in vue-loader 9.x -->
3737

38-
## 启程
38+
## 起步
3939

4040
### 针对刚接触 JavaScript 模块开发系统的用户
4141

42-
使用 `.vue` 组件,我们就进入了高级 JavaScirpt 应用领域。如果你没有准备好的话,意味着还需要学会使用一些附加的工具:
42+
有了 `.vue` 组件,我们就进入了高级 JavaScirpt 应用领域。如果你没有准备好的话,意味着还需要学会使用一些附加的工具:
4343

4444
- **Node Package Manager (NPM)**: 阅读 [Getting Started guide](https://docs.npmjs.com/getting-started/what-is-npm) 直到 _10: Uninstalling global packages_章节.
4545

46-
- **Modern JavaScript with ES2015/16**: 阅读 Babel 的 [Learn ES2015 guide](https://babeljs.io/docs/learn-es2015/). 你现在不需要记住所有的细节特征,但是保留这个页面作为以后可以快速找到的参考
46+
- **Modern JavaScript with ES2015/16**: 阅读 Babel 的 [Learn ES2015 guide](https://babeljs.io/docs/learn-es2015/). 你不需要立刻记住每一个方法,但是你可以保留这个页面以便后期参考
4747

48-
在你花一些时日了解这些资源之后,我们推荐你切换到 [webpack-simple](https://github.com/vuejs-templates/webpack-simple) 模板参考。跟着这些指示,你应该有一个Vue 项目用到 `.vue` 组件, ES2015 和 任意时间 热重载( hot-reloading ) 运行!
48+
在你花一些时日了解这些资源之后,我们建议你参考 [webpack-simple](https://github.com/vuejs-templates/webpack-simple) 。只要遵循指示,你就能很快的运行一个用到 `.vue` 组件, ES2015 和 热重载( hot-reloading ) 的Vue项目!
4949

50-
这个模板使用 [Webpack](https://webpack.github.io/)一个模块打包工具,将多个模块打包成最终的应用。要学习更多的关于 Webpack 的内容, [这个视频](https://www.youtube.com/watch?v=WQue1AN93YU) 提供了很好的介绍。 当你学会这些基础, 你可能想切换到 [这个在 Egghead.io上的 高级 Webpack 课程](https://egghead.io/courses/using-webpack-for-production-javascript-applications).
50+
这个模板使用 [Webpack](https://webpack.github.io/)一个能将多个模块打包成最终应用的模块打包工具。 [这个视频](https://www.youtube.com/watch?v=WQue1AN93YU) 介绍了Webpack的更多相关信息。 学习了这些基础知识后, 你可能想看看 [这个在 Egghead.io上的 高级 Webpack 课程](https://egghead.io/courses/using-webpack-for-production-javascript-applications).
5151

52-
在 Webpack中,每个模块被包含到 bundle 之前都由相应的一个 "loader" 来转换,Vue 也提供 [vue-loader](https://github.com/vuejs/vue-loader) 插件来保证 `.vue` 单文件组件 的转换. 这个 [webpack-simple](https://github.com/vuejs-templates/webpack-simple) 模板已经为你准备好了所以的东西,但是如果你想了解更多关于 `.vue` 组件和 Webpack 一起时是如何工作的,你可以阅读 [vue-loader 的文档](https://vue-loader.vuejs.org)
52+
在 Webpack中,每个模块被打包到 bundle 之前都由一个相应的 "loader" 来转换,Vue 也提供 [vue-loader](https://github.com/vuejs/vue-loader) 插件来执行 `.vue` 单文件组件 的转换. 这个 [webpack-simple](https://github.com/vuejs-templates/webpack-simple) 模板已经为你准备好了所有的东西,但是如果你想了解更多关于 `.vue` 组件和 Webpack 如何一起运转的信息,你可以阅读 [vue-loader 的文档](https://vue-loader.vuejs.org)
5353

5454
### 针对高级用户
5555

56-
无论你喜欢 Webpack 或是 Browserify,我们为简单的和更复杂的项目都提供了一些文档模板。我们建议浏览 [github.com/vuejs-templates](https://github.com/vuejs-templates),找到你需要的部分,然后参考 README 中的说明,使用 [vue-cli](https://github.com/vuejs/vue-cli) 工具生成新的项目。
56+
无论你更钟情 Webpack 或是 Browserify,我们为简单的和更复杂的项目都提供了一些文档模板。我们建议浏览 [github.com/vuejs-templates](https://github.com/vuejs-templates),找到你需要的部分,然后参考 README 中的说明,使用 [vue-cli](https://github.com/vuejs/vue-cli) 工具生成新的项目。
5757

58-
## 产品部署
58+
## 生产环境配置
5959

60-
Vue 的压缩独立构建(minified standalone build)版本为了更小的文件体积已经为你移除了所有的警告,但是当你使用 Webpack 或是 Browserify 这样的工具的时候,你需要一些附加的配置来实现
60+
为了更小的文件体积,Vue 的压缩版本(minified standalone build)已经为你移除了所有的警告,但是在使用 Webpack 或是 Browserify 这样的工具构建 Vue.js 应用时,需要添加一些配置
6161

6262
### Webpack
6363

64-
使用 Webpack 的 [DefinePlugin](http://webpack.github.io/docs/list-of-plugins.html#defineplugin) 指明产品环境,使得警告信息在压缩期间可以通过 UglifyJS 自动丢弃。配置实例:
64+
使用 Webpack 的 [DefinePlugin](http://webpack.github.io/docs/list-of-plugins.html#defineplugin) 指定当前环境为生产环境,使得警告块在 UglifyJS 压缩代码过程中被自动丢弃。配置实例:
6565

6666
``` js
6767
var webpack = require('webpack')
@@ -86,8 +86,8 @@ module.exports = {
8686

8787
### Browserify
8888

89-
- 运行你的打包命令,并将 `NODE_ENV` 设置为 `"production"`这会告诉 `vueify` 避免包含 hot-reload 和 相关开发代码。
90-
- 应用全局 [envify](https://github.com/hughsk/envify) 转换到你的 bundle 中。在环境变量条件块中添加,允许压缩工具从折叠的 Vue 的源代码中移除所有的警告信息,例如:
89+
- `NODE_ENV` 设置为 `"production"`然后运行打包命令, `vueify` 会自动避免打包 热重载 和 相关开发代码。
90+
- 应用全局 [envify](https://github.com/hughsk/envify) 转换到你的 bundle 中。这样压缩工具就能从从环境变量条件块中移除所有警告信息的 Vue 源代码,例如:
9191

9292
``` bash
9393
NODE_ENV=production browserify -g envify -e main.js | uglifyjs -c -m > build.js

src/router/advanced/data-fetching.md renamed to src/vue-router/advanced/data-fetching.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: 数据获取
3-
type: router
3+
type: vue-router
44
order: 13
55
---
66

src/router/advanced/lazy-loading.md renamed to src/vue-router/advanced/lazy-loading.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: 路由懒加载
3-
type: router
3+
type: vue-router
44
order: 15
55
---
66

0 commit comments

Comments
 (0)