diff --git a/src/v2/api/index.md b/src/v2/api/index.md index 546e19d18..5ebc20885 100644 --- a/src/v2/api/index.md +++ b/src/v2/api/index.md @@ -5,7 +5,7 @@ type: api ## 全局配置 -`Vue.config` 是一个对象,包含 Vue 的全局配置。可以在启动应用之前修改下列属性: +`Vue.config` 是一个对象,包含 Vue 的全局配置。可以在启动应用之前修改下列 property: ### silent @@ -257,7 +257,7 @@ type: api - **用法**: - 向响应式对象中添加一个属性,并确保这个新属性同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新属性,因为 Vue 无法探测普通的新增属性 (比如 `this.myObject.newProperty = 'hi'`) + 向响应式对象中添加一个 property,并确保这个新 property 同样是响应式的,且触发视图更新。它必须用于向响应式对象上添加新 property,因为 Vue 无法探测普通的新增 property (比如 `this.myObject.newProperty = 'hi'`)
注意对象不能是 Vue 实例,或者 Vue 实例的根数据对象。
@@ -271,7 +271,7 @@ type: api - **用法**: - 删除对象的属性。如果对象是响应式的,确保删除能触发更新视图。这个方法主要用于避开 Vue 不能检测到属性被删除的限制,但是你应该很少会使用它。 + 删除对象的 property。如果对象是响应式的,确保删除能触发更新视图。这个方法主要用于避开 Vue 不能检测到 property 被删除的限制,但是你应该很少会使用它。 > 在 2.2.0+ 中同样支持在数组上工作。 @@ -461,13 +461,13 @@ type: api - **详细**: - Vue 实例的数据对象。Vue 将会递归将 data 的属性转换为 getter/setter,从而让 data 的属性能够响应数据变化。**对象必须是纯粹的对象 (含有零个或多个的 key/value 对)**:浏览器 API 创建的原生对象,原型上的属性会被忽略。大概来说,data 应该只能是数据 - 不推荐观察拥有状态行为的对象。 + Vue 实例的数据对象。Vue 将会递归将 data 的 property 转换为 getter/setter,从而让 data 的 property 能够响应数据变化。**对象必须是纯粹的对象 (含有零个或多个的 key/value 对)**:浏览器 API 创建的原生对象,原型上的 property 会被忽略。大概来说,data 应该只能是数据 - 不推荐观察拥有状态行为的对象。 - 一旦观察过,你就无法在根数据对象上添加响应式属性。因此推荐在创建实例之前,就声明所有的根级响应式属性。 + 一旦观察过,你就无法在根数据对象上添加响应式 property。因此推荐在创建实例之前,就声明所有的根级响应式 property。 - 实例创建之后,可以通过 `vm.$data` 访问原始数据对象。Vue 实例也代理了 data 对象上所有的属性,因此访问 `vm.a` 等价于访问 `vm.$data.a`。 + 实例创建之后,可以通过 `vm.$data` 访问原始数据对象。Vue 实例也代理了 data 对象上所有的 property,因此访问 `vm.a` 等价于访问 `vm.$data.a`。 - 以 `_` 或 `$` 开头的属性**不会**被 Vue 实例代理,因为它们可能和 Vue 内置的属性、API 方法冲突。你可以使用例如 `vm.$data._property` 的方式访问这些属性。 + 以 `_` 或 `$` 开头的 property **不会**被 Vue 实例代理,因为它们可能和 Vue 内置的 property、API 方法冲突。你可以使用例如 `vm.$data._property` 的方式访问这些 property。 当一个**组件**被定义,`data` 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例。如果 `data` 仍然是一个纯粹的对象,则所有的实例将**共享引用**同一个数据对象!通过提供 `data` 函数,每次创建一个新实例后,我们能够调用 `data` 函数,从而返回初始数据的一个全新副本数据对象。 @@ -493,7 +493,7 @@ type: api }) ``` - 注意,如果你为 `data` 属性使用了箭头函数,则 `this` 不会指向这个组件的实例,不过你仍然可以将其实例作为函数的第一个参数来访问。 + 注意,如果你为 `data` property 使用了箭头函数,则 `this` 不会指向这个组件的实例,不过你仍然可以将其实例作为函数的第一个参数来访问。 ```js data: vm => ({ a: vm.myProp }) @@ -587,7 +587,7 @@ type: api } ``` - 计算属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。注意,如果某个依赖 (比如非响应式属性) 在该实例范畴之外,则计算属性是**不会**被更新的。 + 计算属性的结果会被缓存,除非依赖的响应式 property 变化才会重新计算。注意,如果某个依赖 (比如非响应式 property) 在该实例范畴之外,则计算属性是**不会**被更新的。 - **示例**: @@ -651,7 +651,7 @@ type: api - **详细**: - 一个对象,键是需要观察的表达式,值是对应回调函数。值也可以是方法名,或者包含选项的对象。Vue 实例将会在实例化时调用 `$watch()`,遍历 watch 对象的每一个属性。 + 一个对象,键是需要观察的表达式,值是对应回调函数。值也可以是方法名,或者包含选项的对象。Vue 实例将会在实例化时调用 `$watch()`,遍历 watch 对象的每一个 property。 - **示例**: @@ -722,7 +722,7 @@ type: api提供的元素只能作为挂载点。不同于 Vue 1.x,所有的挂载元素会被 Vue 生成的 DOM 替换。因此不推荐挂载 root 实例到 `` 或者 `
` 上。 -如果 `render` 函数和 `template` 属性都不存在,挂载 DOM 元素的 HTML 会被提取出来用作模板,此时,必须使用 Runtime + Compiler 构建的 Vue 库。
+如果 `render` 函数和 `template` property 都不存在,挂载 DOM 元素的 HTML 会被提取出来用作模板,此时,必须使用 Runtime + Compiler 构建的 Vue 库。
- **参考**: - [生命周期图示](../guide/instance.html#生命周期图示) @@ -789,7 +789,7 @@ type: api ## 选项 / 生命周期钩子 -所有的生命周期钩子自动绑定 `this` 上下文到实例中,因此你可以访问数据,对属性和方法进行运算。这意味着**你不能使用箭头函数来定义一个生命周期方法** (例如 `created: () => this.fetchTodos()`)。这是因为箭头函数绑定了父上下文,因此 `this` 与你期待的 Vue 实例不同,`this.fetchTodos` 的行为未定义。
+所有的生命周期钩子自动绑定 `this` 上下文到实例中,因此你可以访问数据,对 property 和方法进行运算。这意味着**你不能使用箭头函数来定义一个生命周期方法** (例如 `created: () => this.fetchTodos()`)。这是因为箭头函数绑定了父上下文,因此 `this` 与你期待的 Vue 实例不同,`this.fetchTodos` 的行为未定义。
### beforeCreate @@ -807,7 +807,7 @@ type: api - **详细**: - 在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,`$el` 属性目前尚不可用。 + 在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),property 和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,`$el` property 目前尚不可用。 - **参考**:[生命周期图示](../guide/instance.html#生命周期图示) @@ -1063,17 +1063,17 @@ type: api 这对选项需要一起使用,以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在起上下游关系成立的时间里始终生效。如果你熟悉 React,这与 React 的上下文特性很相似。 - `provide` 选项应该是一个对象或返回一个对象的函数。该对象包含可注入其子孙的属性。在该对象中你可以使用 ES2015 Symbols 作为 key,但是只在原生支持 `Symbol` 和 `Reflect.ownKeys` 的环境下可工作。 + `provide` 选项应该是一个对象或返回一个对象的函数。该对象包含可注入其子孙的 property。在该对象中你可以使用 ES2015 Symbols 作为 key,但是只在原生支持 `Symbol` 和 `Reflect.ownKeys` 的环境下可工作。 `inject` 选项应该是: - 一个字符串数组,或 - 一个对象,对象的 key 是本地的绑定名,value 是: - 在可用的注入内容中搜索用的 key (字符串或 Symbol),或 - 一个对象,该对象的: - - `from` 属性是在可用的注入内容中搜索用的 key (字符串或 Symbol) - - `default` 属性是降级情况下使用的 value + - `from` property 是在可用的注入内容中搜索用的 key (字符串或 Symbol) + - `default` property 是降级情况下使用的 value - > 提示:`provide` 和 `inject` 绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的属性还是可响应的。 + > 提示:`provide` 和 `inject` 绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的 property 还是可响应的。 - **示例**: @@ -1117,7 +1117,7 @@ type: api > 接下来 2 个例子只工作在 Vue 2.2.1 或更高版本。低于这个版本时,注入的值会在 `props` 和 `data` 初始化之后得到。 - 使用一个注入的值作为一个属性的默认值: + 使用一个注入的值作为一个 property 的默认值: ```js const Child = { @@ -1155,7 +1155,7 @@ type: api } ``` - 如果它需要从一个不同名字的属性注入,则使用 `from` 来表示其源属性: + 如果它需要从一个不同名字的 property 注入,则使用 `from` 来表示其源 property: ``` js const Child = { @@ -1282,7 +1282,7 @@ type: api - **详细**: - 默认情况下父作用域的不被认作 props 的 attribute 绑定 (attribute bindings) 将会“回退”且作为普通的 HTML attribute 应用在子组件的根元素上。当撰写包裹一个目标元素或另一个组件的组件时,这可能不会总是符合预期行为。通过设置 `inheritAttrs` 到 `false`,这些默认行为将会被去掉。而通过 (同样是 2.4 新增的) 实例属性 `$attrs` 可以让这些 attribute 生效,且可以通过 `v-bind` 显性的绑定到非根元素上。 + 默认情况下父作用域的不被认作 props 的 attribute 绑定 (attribute bindings) 将会“回退”且作为普通的 HTML attribute 应用在子组件的根元素上。当撰写包裹一个目标元素或另一个组件的组件时,这可能不会总是符合预期行为。通过设置 `inheritAttrs` 到 `false`,这些默认行为将会被去掉。而通过 (同样是 2.4 新增的) 实例 property `$attrs` 可以让这些 attribute 生效,且可以通过 `v-bind` 显性的绑定到非根元素上。 注意:这个选项**不影响** `class` 和 `style` 绑定。 @@ -1300,7 +1300,7 @@ type: api 当设为 `true` 时,将会保留且渲染模板中的 HTML 注释。默认行为是舍弃它们。 -## 实例属性 +## 实例 property ### vm.$data @@ -1308,7 +1308,7 @@ type: api - **详细**: - Vue 实例观察的数据对象。Vue 实例代理了对其 data 对象属性的访问。 + Vue 实例观察的数据对象。Vue 实例代理了对其 data 对象 property 的访问。 - **参考**:[选项 / 数据 - data](#data) @@ -1320,7 +1320,7 @@ type: api - **详细**: - 当前组件接收到的 props 对象。Vue 实例代理了对其 props 对象属性的访问。 + 当前组件接收到的 props 对象。Vue 实例代理了对其 props 对象 property 的访问。 ### vm.$el @@ -1340,7 +1340,7 @@ type: api - **详细**: - 用于当前 Vue 实例的初始化选项。需要在选项中包含自定义属性时会有用处: + 用于当前 Vue 实例的初始化选项。需要在选项中包含自定义 property 时会有用处: ``` js new Vue({ @@ -1389,7 +1389,7 @@ type: api - **详细**: - 用来访问被[插槽分发](../guide/components.html#通过插槽分发内容)的内容。每个[具名插槽](../guide/components-slots.html#具名插槽)有其相应的属性 (例如:`v-slot:foo` 中的内容将会在 `vm.$slots.foo` 中被找到)。`default` 属性包括了所有没有被包含在具名插槽中的节点,或 `v-slot:default` 的内容。 + 用来访问被[插槽分发](../guide/components.html#通过插槽分发内容)的内容。每个[具名插槽](../guide/components-slots.html#具名插槽)有其相应的 property (例如:`v-slot:foo` 中的内容将会在 `vm.$slots.foo` 中被找到)。`default` property 包括了所有没有被包含在具名插槽中的节点,或 `v-slot:default` 的内容。 **注意:**`v-slot:foo` 在 2.6 以上的版本才支持。对于之前的版本,你可以使用[废弃了的语法](../guide/components-slots.html#废弃了的语法)。 @@ -1447,7 +1447,7 @@ type: api `vm.$scopedSlots` 在使用[渲染函数](../guide/render-function.html)开发一个组件时特别有用。 - **注意**:从 2.6.0 开始,这个属性有两个变化: + **注意**:从 2.6.0 开始,这个 property 有两个变化: 1. 作用域插槽函数现在保证返回一个 VNode 数组,除非在返回值无效的情况下返回 `undefined`。 @@ -1960,7 +1960,7 @@ type: api - **用法**: - 根据表达式之真假值,切换元素的 `display` CSS 属性。 + 根据表达式之真假值,切换元素的 `display` CSS property。 当条件变化时该指令触发过渡效果。 @@ -2052,7 +2052,7 @@ type: api ``` - `v-for` 的默认行为会尝试原地修改元素而不是移动它们。要强制其重新排序元素,你需要用特殊属性 `key` 来提供一个排序提示: + `v-for` 的默认行为会尝试原地修改元素而不是移动它们。要强制其重新排序元素,你需要用特殊 attribute `key` 来提供一个排序提示: ``` html如果你在好奇 `Object.freeze`,它做的事情是阻止这个对象在未来被修改。这实质上是将它的属性都设为了常量,避免在未来出现状态的 bug。
+如果你在好奇 `Object.freeze`,它做的事情是阻止这个对象在未来被修改。这实质上是将它的 property 都设为了常量,避免在未来出现状态的 bug。
-现在这些被共享的属性的来源就更加明显了:在应用中的某个地方有一个被定义好的 `App` 对象。你只需在项目中搜索就可以找到它。 +现在这些被共享的 property 的来源就更加明显了:在应用中的某个地方有一个被定义好的 `App` 对象。你只需在项目中搜索就可以找到它。 -这样做的另一个好处是 `App` 可以在你代码的*任何地方*使用,不管它是否是 Vue 相关的。包括向实例选项直接附加一些值而不必进入一个函数去访问 `this` 上的属性来得到这些值: +这样做的另一个好处是 `App` 可以在你代码的*任何地方*使用,不管它是否是 Vue 相关的。包括向实例选项直接附加一些值而不必进入一个函数去访问 `this` 上的 property 来得到这些值: ``` js new Vue({ diff --git a/src/v2/cookbook/avoiding-memory-leaks.md b/src/v2/cookbook/avoiding-memory-leaks.md index f71c07202..a7ce2b07d 100644 --- a/src/v2/cookbook/avoiding-memory-leaks.md +++ b/src/v2/cookbook/avoiding-memory-leaks.md @@ -82,7 +82,7 @@ new Vue({ ## 解决这个内存泄漏问题 -在上述的示例中,我们可以用 `hide()` 方法在将选择框从 DOM 中移除之前做一些清理工作,来解决内存泄露问题。为了做到这一点,我们会在 Vue 实例的数据对象中保留一个属性,并会使用 [Choices API 中的](https://github.com/jshjohnson/Choices) `destroy()` 方法将其清除。 +在上述的示例中,我们可以用 `hide()` 方法在将选择框从 DOM 中移除之前做一些清理工作,来解决内存泄露问题。为了做到这一点,我们会在 Vue 实例的数据对象中保留一个 property,并会使用 [Choices API 中的](https://github.com/jshjohnson/Choices) `destroy()` 方法将其清除。 通过这个[更新之后的 CodePen 示例](https://codepen.io/freeman-g/pen/mxWMor)可以再重新看看内存的使用情况。 diff --git a/src/v2/cookbook/creating-custom-scroll-directives.md b/src/v2/cookbook/creating-custom-scroll-directives.md index 037603d5d..3bad6c83e 100644 --- a/src/v2/cookbook/creating-custom-scroll-directives.md +++ b/src/v2/cookbook/creating-custom-scroll-directives.md @@ -51,7 +51,7 @@ new Vue({记住!指令必须在 Vue 实例之前注册好。
-我们可能还需要一个样式属性来对中间值做过渡,在这个例子中: +我们可能还需要一个样式 property 来对中间值做过渡,在这个例子中: ```css .box { diff --git a/src/v2/cookbook/debugging-in-vscode.md b/src/v2/cookbook/debugging-in-vscode.md index 44f5f51b7..039fbba3e 100644 --- a/src/v2/cookbook/debugging-in-vscode.md +++ b/src/v2/cookbook/debugging-in-vscode.md @@ -25,15 +25,15 @@ order: 8 在可以从 VS Code 调试你的 Vue 组件之前,你需要更新 webpack 配置以构建 source map。做了这件事之后,我们的调试器就有机会将一个被压缩的文件中的代码对应回其源文件相应的位置。这会确保你可以在一个应用中调试,即便你的资源已经被 webpack 优化过了也没关系。 -打开 `config/index.js` 并找到 `devtool` 属性。将其更新为: +打开 `config/index.js` 并找到 `devtool` property。将其更新为: -如果你使用的是 Vue CLI 2,请设置并更新 `config/index.js` 内的 `devtool` 属性: +如果你使用的是 Vue CLI 2,请设置并更新 `config/index.js` 内的 `devtool` property: ```json devtool: 'source-map', ``` -如果你使用的是 Vue CLI 3,请设置并更新 `vue.config.js` 内的 `devtool` 属性: +如果你使用的是 Vue CLI 3,请设置并更新 `vue.config.js` 内的 `devtool` property: ```js module.exports = { @@ -101,7 +101,7 @@ module.exports = { ### Vue Devtools -我们还有一些其它的调试方法,复杂度不尽相同。其中最流行和简单的是使用非常棒的 [Chrome 版本](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd) 和 [Firefox 版本](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/)的 Vue.js devtools。使用 devtools 有很多好处,比如它可以让你能够实时编辑数据属性并立即看到其反映出来的变化。另一个主要的好处是能够为 Vuex 提供时间旅行式的调试体验。 +我们还有一些其它的调试方法,复杂度不尽相同。其中最流行和简单的是使用非常棒的 [Chrome 版本](https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)和 [Firefox 版本](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/)的 Vue.js devtools。使用 devtools 有很多好处,比如它可以让你能够实时编辑数据 property 并立即看到其反映出来的变化。另一个主要的好处是能够为 Vuex 提供时间旅行式的调试体验。  diff --git a/src/v2/cookbook/editable-svg-icons.md b/src/v2/cookbook/editable-svg-icons.md index e96c2c47f..8650b39a5 100644 --- a/src/v2/cookbook/editable-svg-icons.md +++ b/src/v2/cookbook/editable-svg-icons.md @@ -185,4 +185,4 @@ export default { * [svg-sprite-loader](https://github.com/kisenka/svg-sprite-loader) * [svgo-loader](https://github.com/rpominov/svgo-loader) -这些工具会在编译时打包 SVG,但是在运行时编辑它们会有一些麻烦,因为 `