Skip to content

Commit 9313f30

Browse files
authored
Merge pull request #2 from vuefe/2.0-cn
update
2 parents 0a60db2 + 3dc047b commit 9313f30

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+482
-264
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
### 参与:
88

99
- 加群参与 `427447379`
10-
- 发布网址:[vuefe.cn](http://vuefe.cn/)
10+
- [发布网址:vuefe.cn](http://vuefe.cn/)
1111
- [翻译仓库](https://github.com/vuefe/vuejs.org),中文翻译分支 2.0-cn
1212
- [基础指引](https://github.com/vuefe/vuejs.org/issues/25)
1313
- 参与API校对:https://github.com/vuefe/vuejs.org/issues/44

src/about/guide.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ order: 1
1313

1414
> 参与请阅读 [翻译规范](https://github.com/vuefe/vuejs.org/wiki/%E7%BF%BB%E8%AF%91%E8%A7%84%E8%8C%83)
1515
16-
- 加群参与 `42744737`
16+
- 加群参与 `427447379`
1717
- [发布网址:vuefe.cn](http://vuefe.cn/)
1818
- [翻译仓库](https://github.com/vuefe/vuejs.org) ,中文翻译分支 2.0-cn
1919
- [基础指引](https://github.com/vuefe/vuejs.org/wiki/%E5%85%B3%E4%BA%8E%E7%BF%BB%E8%AF%91---%E5%9F%BA%E7%A1%80%E6%8C%87%E5%BC%95)

src/about/index.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ order: 0
77
## 目前任务
88

99
- [vue 2.0 - Guide 翻译校对 (进度 / 认领)](https://github.com/vuefe/vuejs.org/issues/77)
10-
- [vue 2.0 - API 翻译校对 (进度 / 认领)](https://github.com/vuefe/vuejs.org/issues/119)
1110
- [vuex 2.0 - 文档翻译 (进度 / 认领)](https://github.com/vuefe/vuejs.org/issues/124)
1211

1312
## Guide 翻译贡献

src/api/index.md

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ type: api
7777

7878
指定组件的渲染和观察期间未捕获错误的处理函数。这个处理函数被调用时,可获取错误信息和 Vue 实例。
7979

80+
> [Sentry](https://sentry.io), an error tracking service, provides [official integration](https://sentry.io/for/vue/) using this option.
81+
8082
### keyCodes
8183

8284
- **类型:** `{ [key: string]: number }`
@@ -86,10 +88,14 @@ type: api
8688
- **用法:**
8789

8890
``` js
89-
Vue.config.keyCodes = { esc: 27 }
91+
Vue.config.keyCodes = {
92+
v: 86,
93+
f1: 112,
94+
mediaPlayPause: 179
95+
}
9096
```
9197

92-
自定义 v-on 键位别名
98+
v-on 自定义键位别名
9399

94100
## 全局 API
95101

@@ -752,7 +758,7 @@ type: api
752758
- **详细:**
753759

754760
`mixins` 选项接受一个混合对象的数组。这些混合实例对象可以像正常的实例对象一样包含选项,他们将在 `Vue.extend()` 里最终选择使用相同的选项合并逻辑合并。举例:如果你混合包含一个钩子而创建组件本身也有一个,两个函数将被调用。
755-
Mixin钩子提供他们被调用的顺序,在调用组件的自己的钩子之前被调用
761+
Mixin钩子按照传入顺序依次调用,并在调用组件自身的钩子之前被调用
756762

757763
- **示例:**
758764

@@ -780,7 +786,7 @@ type: api
780786

781787
允许组件模板递归地调用自身。注意,组件在全局用 `Vue.component()` 注册时,全局 ID 自动作为组件的 name。
782788

783-
指定一个 `name` 选项的另一个好处是便于调试。被命名的组件有更友好的警告信息。另外,当在有 [vue-devtools](https://github.com/vuejs/vue-devtools), 未命名组件将显示成 `<AnonymousComponent>`, 这很没有语义。通过提供 `name` 选项,可以获得更有语义信息的组件树。
789+
指定 `name` 选项的另一个好处是便于调试。有名字的组件有更友好的警告信息。另外,当在有 [vue-devtools](https://github.com/vuejs/vue-devtools), 未命名组件将显示成 `<AnonymousComponent>`, 这很没有语义。通过提供 `name` 选项,可以获得更有语义信息的组件树。
784790

785791
### extends
786792

@@ -791,7 +797,7 @@ type: api
791797

792798
允许声明扩展另一个组件(可以是一个简单的选项对象或构造函数),而无需使用 `Vue.extend`。这主要是为了便于扩展单文件组件。
793799

794-
这和 `mixins` 类似,区别在于,组件的选项需要比源组件被扩展有更高的优先级
800+
这和 `mixins` 类似,区别在于,组件的选项会比源组件被扩展有更高的优先级
795801

796802
- **示例:**
797803

@@ -823,7 +829,7 @@ type: api
823829
delimiters: ['${', '}']
824830
})
825831

826-
// Delimiters 将 ES6 模板转换成字符串样式
832+
// 分隔符变成了 ES6 模板字符串的风格
827833
```
828834

829835
### functional
@@ -866,7 +872,7 @@ type: api
866872

867873
- **详细:**
868874

869-
用于当前 Vue 实例的初始化选项。当选项中您需要自定义属性时会有用处
875+
用于当前 Vue 实例的初始化选项。需要在选项中包含自定义属性时会有用处
870876

871877
``` js
872878
new Vue({
@@ -1000,7 +1006,7 @@ type: api
10001006

10011007
观察 Vue 实例变化的一个表达式或计算属性函数。回调函数的得到参数为新值和旧值。表达式可以是某个键路径或任意合法绑定表达式。
10021008

1003-
<p class="tip">注意:在变异(不是替换)对象或数组时,旧值将与新值相同,因为它们索引同一个对象/数组。Vue 不会保留变异之前值的副本。</p>
1009+
<p class="tip">注意:在变异(不是替换)对象或数组时,旧值将与新值相同,因为它们的引用指向同一个对象/数组。Vue 不会保留变异之前值的副本。</p>
10041010

10051011
- **示例:**
10061012

@@ -1094,7 +1100,7 @@ type: api
10941100

10951101
- **用法:**
10961102

1097-
监听当前实例上的自定义事件。事件可以由vm.$emit触发。传入这些方法的附加参数都会传入这个方法的回调
1103+
监听当前实例上的自定义事件。事件可以由`vm.$emit`触发。回调函数会接收所有传入事件触发函数的额外参数
10981104

10991105
- **示例:**
11001106

@@ -1173,7 +1179,7 @@ type: api
11731179

11741180
// 或者,在文档之外渲染并且随后挂载
11751181
var component = new MyComponent().$mount()
1176-
document.getElementById('app').appendChild(vm.$el)
1182+
document.getElementById('app').appendChild(component.$el)
11771183
```
11781184

11791185
- **另见:**
@@ -1193,7 +1199,7 @@ type: api
11931199

11941200
- **用法:**
11951201

1196-
将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。它跟全局方法 Vue.nextTick 一样,不同的是回调的 this 自动绑定到调用它的实例上。
1202+
将回调延迟到下次 DOM 更新循环之后执行。在修改数据之后立即使用它,然后等待 DOM 更新。它跟全局方法 Vue.nextTick 一样,不同的是回调的 `this` 自动绑定到调用它的实例上。
11971203

11981204
- **示例:**
11991205

@@ -1226,7 +1232,7 @@ type: api
12261232

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

1229-
触发 beforeDestroy 和 destroyed 的钩子。
1235+
触发 `beforeDestroy``destroyed` 的钩子。
12301236

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

@@ -1259,7 +1265,7 @@ type: api
12591265
- **详细:**
12601266

12611267

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

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

@@ -1288,7 +1294,7 @@ type: api
12881294

12891295
- **用法:**
12901296

1291-
根据表达式之真假值,切换元素的 display CSS 属性。
1297+
根据表达式之真假值,切换元素的 `display` CSS 属性。
12921298

12931299
当条件变化时该指令触发过渡效果。
12941300

@@ -1476,7 +1482,7 @@ type: api
14761482
```
14771483

14781484
- **另见:**
1479-
- [Class 与 Style 绑定(/guide/class-and-style.html)
1485+
- [Class 与 Style 绑定](/guide/class-and-style.html)
14801486
- [组件 - 组件 Props](/guide/components.html#Props)
14811487

14821488
### v-model
@@ -1508,7 +1514,7 @@ type: api
15081514

15091515
- **用法:**
15101516

1511-
跳过编译这个元素和它的子元素。可以用来显示原始 Mustache 标签。跳过大量没有指令的节点会加快编译。
1517+
跳过这个元素和它的子元素的编译过程。可以用来显示原始 Mustache 标签。跳过大量没有指令的节点会加快编译。
15121518

15131519
- **示例:**
15141520

@@ -1546,7 +1552,7 @@ type: api
15461552

15471553
- **详细:**
15481554

1549-
只渲染元素和组件**一次**。随后的重新渲染,元素/组件及其所有的孩子将被视为静态内容和跳过。这可以用于优化更新性能。
1555+
只渲染元素和组件**一次**。随后的重新渲染,元素/组件及其所有的子节点将被视为静态内容并跳过。这可以用于优化更新性能。
15501556

15511557
```html
15521558
<!-- 单个元素 -->
@@ -1588,7 +1594,7 @@ type: api
15881594

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

1591-
- 正确的触发组件的生命周期钩子
1597+
- 完整地触发组件的生命周期钩子
15921598
- 触发过渡
15931599

15941600
例如:
@@ -1599,7 +1605,7 @@ type: api
15991605
</transition>
16001606
```
16011607

1602-
`text` 发生改变时,`<span>` 会随时被更新,因此会触发过度
1608+
`text` 发生改变时,`<span>` 会随时被更新,因此会触发过渡
16031609

16041610
### ref
16051611

@@ -1617,7 +1623,7 @@ type: api
16171623

16181624
`v-for` 用于元素或组件的时候,引用信息将是包含DOM节点或组件实例数组。
16191625

1620-
关于ref注册时间的重要说明: 因为ref本身是作为渲染结果被创建的,在初始渲染的时候你不能访问它们 - 它们还不存在!`$refs` 也不能使用,因此你不应该试图用它在模版中做数据绑定。
1626+
关于ref注册时间的重要说明: 因为ref本身是作为渲染结果被创建的,在初始渲染的时候你不能访问它们 - 它们还不存在!`$refs` 也不是响应式的,因此你不应该试图用它在模版中做数据绑定。
16211627

16221628
- **另见:** [子组件 Refs](/guide/components.html#Child-Component-Refs)
16231629

@@ -1641,7 +1647,7 @@ type: api
16411647

16421648
- **用法:**
16431649

1644-
渲染一个“元组件”为动态组件。依 `is` 的值, 来决定哪个组件被渲染。
1650+
渲染一个“元组件”为动态组件。依 `is` 的值来决定哪个组件被渲染。
16451651

16461652
```html
16471653
<!-- 动态组件由 vm 实例的属性值 `componentId` 控制 -->

src/examples/firebase.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ order: 2
55
---
66

77
> 本示例使用 [Firebase](https://firebase.google.com/) 作为数据存储后端,同时在客户端进行数据实时同步(你可以在多个浏览器窗口去打开它来验证)。另外,它通过计算属性实时验证,并且添加/移除选项时触发 CSS 过渡。
8-
<iframe width="100%" height="500" src="https://jsfiddle.net/yyx990803/hkrxmp0h/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe>
8+
<iframe width="100%" height="500" src="https://jsfiddle.net/chrisvfritz/pyLbpzzx/embedded/result,html,js,css" allowfullscreen="allowfullscreen" frameborder="0"></iframe>

src/guide/comparison.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: 对比其他框架
33
type: guide
4-
order: 26
4+
order: 28
55
---
66
这个页面无疑是最难编写的,但我们认为它也是非常重要的。或许你曾遇到了一些问题并且已经用其他的框架解决了。你来这里的目的是看看 Vue 是否有更好的解决方案。这也是我们在此想要回答的。
77

src/guide/components.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ new Vue({
9393

9494
### DOM 模版解析说明
9595

96-
当使用 DOM 作为模版时 (例如,将 `el` 选项挂载到一个已存在的元素上), 你会受到 HTML 的一些限制, 因为 Vue 只有在浏览器解析 HTML 后才能检索模版。尤其像这些元素 `<ul>``<ol>``<table>``<select>` 限制了能被它包裹的元素, `<option>` 只能出现在其它元素内部。
96+
当使用 DOM 作为模版时 (例如,将 `el` 选项挂载到一个已存在的元素上), 你会受到 HTML 的一些限制因为 Vue 只有在浏览器解析 HTML 后才能检索模版。尤其像这些元素 `<ul>``<ol>``<table>``<select>` 限制了能被它包裹的元素, `<option>` 只能出现在其它元素内部。
9797

9898
在自定义组件中使用这些受限制的元素时会导致一些问题,例如:
9999

@@ -132,7 +132,7 @@ Vue.component('my-component', {
132132
})
133133
```
134134

135-
那么 Vue 会在控制台发出警告, 告诉你在组件中 `data` 必须是一个函数。最好理解这种规则的存在意义。
135+
那么 Vue 会在控制台发出警告告诉你在组件中 `data` 必须是一个函数。最好理解这种规则的存在意义。
136136

137137
``` html
138138
<div id="example-2">
@@ -212,11 +212,11 @@ new Vue({
212212
</script>
213213
{% endraw %}
214214

215-
### 组合组件
215+
### 构成组件
216216

217217
组件意味着协同工作,通常父子组件会是这样的关系:组件 A 在它的模版中使用了组件 B 。它们之间必然需要相互通信:父组件要给子组件传递数据,子组件需要将它内部发生的事情告知给父组件。然而,在一个良好定义的接口中尽可能将父子组件解耦是很重要的。这保证了每个组件可以在相对隔离的环境中书写和理解,也大幅提高了组件的可维护性和可重用性。
218218

219-
在 Vue.js 中,父子组件的关系可以总结为 **props down, events up** 。父组件通过 **props** 向下传递数据给子组件, 子组件通过 **events** 给父组件发送消息。看看它们是怎么工作的。
219+
在 Vue.js 中,父子组件的关系可以总结为 **props down, events up** 。父组件通过 **props** 向下传递数据给子组件子组件通过 **events** 给父组件发送消息。看看它们是怎么工作的。
220220

221221
<p style="text-align: center">
222222
<img style="width:300px" src="/images/props-events.png" alt="props down, events up">
@@ -234,7 +234,7 @@ prop 是父组件用来传递数据的一个自定义属性。子组件需要显
234234
Vue.component('child', {
235235
// 声明 props
236236
props: ['message'],
237-
// 就像 data 一样, prop 可以用在模板内
237+
// 就像 data 一样prop 可以用在模板内
238238
// 同样也可以在 vm 实例中像 “this.message” 这样使用
239239
template: '<span>{{ message }}</span>'
240240
})
@@ -417,7 +417,7 @@ Vue.component('example', {
417417

418418
## 自定义事件
419419

420-
父组件可以使用 props 给子组件传递数据, 那么反过来呢?该自定义事件出场了!
420+
父组件可以使用 props 给子组件传递数据那么反过来呢?该自定义事件出场了!
421421

422422
### 使用 `v-on` 绑定自定义事件
423423

@@ -526,7 +526,7 @@ new Vue({
526526
<input v-bind:value="something" v-on:input="something = $event.target.value">
527527
```
528528

529-
所以在组件中使用时, 它相当于下面的简写:
529+
所以在组件中使用时它相当于下面的简写:
530530

531531
``` html
532532
<input v-bind:value="something" v-on:input="something = arguments[0]">
@@ -1000,7 +1000,7 @@ template: '<div><stack-overflow></stack-overflow></div>'
10001000

10011001
### X-Templates
10021002

1003-
另一种定义模版的方式是在 JavaScript 标签里使用 `text/x-template` 类型, 并且指定一个id。例如:
1003+
另一种定义模版的方式是在 JavaScript 标签里使用 `text/x-template` 类型并且指定一个id。例如:
10041004

10051005
``` html
10061006
<script type="text/x-template" id="hello-world-template">
@@ -1018,7 +1018,7 @@ Vue.component('hello-world', {
10181018

10191019
### Cheap Static Components with `v-once`
10201020

1021-
尽管在 Vue 中渲染 HTML 很快,不过当组件中包含**大量**静态内容时, 可以考虑使用 `v-once` 将渲染结果缓存起来, 就像这样:
1021+
尽管在 Vue 中渲染 HTML 很快,不过当组件中包含**大量**静态内容时可以考虑使用 `v-once` 将渲染结果缓存起来就像这样:
10221022

10231023
``` js
10241024
Vue.component('terms-of-service', {

src/guide/custom-directive.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ directives: {
5858

5959
指令定义函数提供了几个钩子函数(可选):
6060

61-
- `bind`: 只调用一次, 指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。
61+
- `bind`: 只调用一次指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。
6262

6363
- `inserted`: 被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于 document 中)。
6464

@@ -78,14 +78,14 @@ directives: {
7878
- **binding**: 一个对象,包含以下属性:
7979
- **name**: 指令名,不包括 `v-` 前缀。
8080
- **value**: 指令的绑定值, 例如: `v-my-directive="1 + 1"`, value 的值是 `2`
81-
- **oldValue**: 指令绑定的前一个值, 仅在 `update``componentUpdated` 钩子中可用。无论值是否改变都可用。
81+
- **oldValue**: 指令绑定的前一个值仅在 `update``componentUpdated` 钩子中可用。无论值是否改变都可用。
8282
- **expression**: 绑定值的字符串形式。 例如 `v-my-directive="1 + 1"` , expression 的值是 `"1 + 1"`
8383
- **arg**: 传给指令的参数。例如 `v-my-directive:foo`, arg 的值是 `"foo"`
8484
- **modifiers**: 一个包含修饰符的对象。 例如: `v-my-directive.foo.bar`, 修饰符对象 modifiers 的值是 `{ foo: true, bar: true }`
85-
- **vnode**: Vue 编译生成的虚拟节点, 查阅 [VNode API](/api/#VNode-Interface) 了解更多详情。
86-
- **oldVnode**: 上一个虚拟节点, 仅在 `update``componentUpdated` 钩子中可用。
85+
- **vnode**: Vue 编译生成的虚拟节点查阅 [VNode API](/api/#VNode-Interface) 了解更多详情。
86+
- **oldVnode**: 上一个虚拟节点仅在 `update``componentUpdated` 钩子中可用。
8787

88-
<p class="tip">除了 `el` 之外, 其它参数都应该是只读的,尽量不要修改他们。如果需要在钩子之间共享数据,建议通过元素的 [dataset](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset) 来进行。</p>
88+
<p class="tip">除了 `el` 之外其它参数都应该是只读的,尽量不要修改他们。如果需要在钩子之间共享数据,建议通过元素的 [dataset](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dataset) 来进行。</p>
8989

9090
一个使用了这些参数的自定义钩子样例:
9191

0 commit comments

Comments
 (0)