diff --git a/source/api/directives.md b/source/api/directives.md
index 78f66c2b54..2acf7d0f5f 100644
--- a/source/api/directives.md
+++ b/source/api/directives.md
@@ -65,7 +65,7 @@ Apply inline CSS styles to the element.
When there is no argument, Vue.js will use the value to set `el.style.cssText`.
-When there is an argument, it will be used as the CSS property to apply. Combined with multiple clause you can set multiple properties together:
+When there is an argument, it will be used as the CSS property to apply. Combined with multiple clauses you can set multiple properties together:
**Example:**
@@ -108,7 +108,7 @@ Conditionally insert / remove the element based on the truthy-ness of the bindin
### v-repeat
- This directive creates child ViewModels.
-- This directive requires the value to be an Array.
+- This directive requires the value to be an Array or Object.
- This directive can trigger transitions.
- This directive accepts an optional argument.
@@ -171,7 +171,7 @@ Example inheriting an object:
```
-Example inehriting individual properties (using the same data):
+Example inheriting individual properties (using the same data):
```
@@ -182,7 +182,7 @@ Example inehriting individual properties (using the same data):
## Literal Directives
-> Literal directives treat their attribute value as a plain string; they do not attempt to bind themselves to anything. All they do is executing the `bind()` function with the string value once. Literal directives accept mustache expressions inside their value, but these expressions will be evaludated only once on first compile and do not react to data changes.
+> Literal directives treat their attribute value as a plain string; they do not attempt to bind themselves to anything. All they do is executing the `bind()` function with the string value once. Literal directives accept mustache expressions inside their value, but these expressions will be evaluated only once on first compile and do not react to data changes.
### v-component
@@ -212,7 +212,7 @@ For details, see [the guide](/guide/transitions.html#JavaScript_Functions).
### v-transition
-Notify Vue.js to apply transition CSS classes to this element. The transition classes are applied when certain transition-triggering directives modifies the element, or when the ViewModel's DOM manipulation methods are called.
+Notify Vue.js to apply transition CSS classes to this element. The transition classes are applied when certain transition-triggering directives modify the element, or when the ViewModel's DOM manipulation methods are called.
For details, see [the guide](/guide/transitions.html#Css_Transitions).
@@ -224,7 +224,7 @@ For details, see [the guide](/guide/transitions.html#Css_Animations).
### v-pre
-Skip compilation for this element and all its children. Skipping large amount of nodes with no directives on them can speed up compilation.
+Skip compilation for this element and all its children. Skipping large numbers of nodes with no directives on them can speed up compilation.
### v-cloak
diff --git a/source/api/filters.md b/source/api/filters.md
index 85cbdf80fc..a79964ea05 100644
--- a/source/api/filters.md
+++ b/source/api/filters.md
@@ -114,7 +114,7 @@ Finally, you can use quotes to indicate literal arguments:
- this filter only works in `v-repeat`
- this is a computed filter
-Sort `v-repeat`'s displayed result. The `sorKey` argument is a property key on the context ViewModel. The value of that property will be used as the key to sort the Array items with. The optional `reverseKey` argument is also a property key on the context ViewModel, but the value's truthiness will determine whether the result should be reversed.
+Sort `v-repeat`'s displayed result. The `sortKey` argument is a property key on the context ViewModel. The value of that property will be used as the key to sort the Array items with. The optional `reverseKey` argument is also a property key on the context ViewModel, but the value's truthiness will determine whether the result should be reversed.
``` html
diff --git a/source/api/global-methods.md b/source/api/global-methods.md
index 61dad3169a..0acf0c42aa 100644
--- a/source/api/global-methods.md
+++ b/source/api/global-methods.md
@@ -152,7 +152,7 @@ Will result in:
- **callback** `Function`
-Vue.js batches view updates and execute them all asynchronously. It uses `requestAnimationFrame` if available and fallsback to `setTimeout(fn, 0)`. This method calls the callback after the next view update, which can be useful when you want to wait until the view has been updated.
+Vue.js batches view updates and executes them all asynchronously. It uses `requestAnimationFrame` if available and falls back to `setTimeout(fn, 0)`. This method calls the callback after the next view update, which can be useful when you want to wait until the view has been updated.
### Vue.require( module )
diff --git a/source/api/index.md b/source/api/index.md
index fbef5e3c1d..2b8f130a50 100644
--- a/source/api/index.md
+++ b/source/api/index.md
@@ -3,7 +3,7 @@ type: api
order: 1
---
-The `Vue` Class is the core of vue.js. It is a constructor that allows you to create ViewModel instances. Creating a ViewModel instance is straightforward:
+The `Vue` Class is the core of Vue.js. It is a constructor that allows you to create ViewModel instances. Creating a ViewModel instance is straightforward:
``` js
var vm = new Vue({ /* options */ })
@@ -15,10 +15,10 @@ During the compilation phase, Vue.js walks through the DOM and compiles the dire
Each ViewModel instance has an associated DOM element `$el`, which is essentially the V in MVVM. It also has an associated JavaScript object `$data`, which is essentially the M in MVVM. Changing the M results in updates in the V. For two-way bindings, inputs in the V results in changes in the M. For more details check out [Instance Properties](/api/instance-properties.html).
-ViewModel instances proxies access to their `$data` objects, so if you have `vm.$data.msg` you can also access it as `vm.msg`. This might look a bit magical, but is totally optional. You can stick to `vm.$data.msg` for more explicit data access. However it is still important to notice the difference between `vm` and `vm.$data`, since the former cannot be observed by other ViewModels as data.
+ViewModel instances proxy access to their `$data` objects, so if you have `vm.$data.msg` you can also access it as `vm.msg`. This might look a bit magical, but is totally optional. You can stick to `vm.$data.msg` for more explicit data access. However it is still important to notice the difference between `vm` and `vm.$data`, since the former cannot be observed by other ViewModels as data.
It's also worth noting that data objects do not necessarily belong to a single ViewModel - multiple ViewModels can observe the same piece of data, whether directly as `$data` or nested under it. This is useful when multiple components need to react to a shared global state object.
-Each ViewModel instance also has a number of [Instance Methods](/api/instance-methods.html) which covers data observation, event communication and dom manipulation.
+Each ViewModel instance also has a number of [Instance Methods](/api/instance-methods.html) which cover data observation, event communication and DOM manipulation.
Finally, the `Vue` constructor itself also holds several [Global Methods](/api/global-methods.html), which allow you to extend the `Vue` class, configure global settings and register global custom assets such as components, directives, filters and more.
\ No newline at end of file
diff --git a/source/api/instance-methods.md b/source/api/instance-methods.md
index 48d6f2b138..98805424b4 100644
--- a/source/api/instance-methods.md
+++ b/source/api/instance-methods.md
@@ -78,11 +78,11 @@ Attach a one-time only listener for an event.
- **event** `String` *optional*
- **callback** `Function` *optional*
-If no arguments are given, stop listening for all events; If only the event is given, remove all callbacks for that event; If both event and callback are given, remove that specific callback only.
+If no arguments are given, stop listening for all events; if only the event is given, remove all callbacks for that event; if both event and callback are given, remove that specific callback only.
## DOM Manipulation
-> All vm DOM manipulation methods work like their jQuery counterparts - except they also trigger vue.js transitions if there are any declared on vm's `$el`. For more details on transitions see [Adding Transition Effects](/guide/transitions.html).
+> All vm DOM manipulation methods work like their jQuery counterparts - except they also trigger Vue.js transitions if there are any declared on vm's `$el`. For more details on transitions see [Adding Transition Effects](/guide/transitions.html).
### vm.$appendTo( element | selector )
diff --git a/source/api/instance-properties.md b/source/api/instance-properties.md
index 67be371cc7..93833bf613 100644
--- a/source/api/instance-properties.md
+++ b/source/api/instance-properties.md
@@ -36,7 +36,7 @@ new Vue({
- **Type:** `Object`
- **Read only**
-An object that holds child ViewModels that has `v-ref` registered. For more details see [v-ref](/api/directives.html#v-ref).
+An object that holds child ViewModels that have `v-ref` registered. For more details see [v-ref](/api/directives.html#v-ref).
### vm.$index
@@ -56,7 +56,7 @@ The parent ViewModel, if the current ViewModel has one.
- **Type:** `Object ViewModel`
- **Read only**
-The root ViewModel. It the current ViewModel has no parents this value will be itself.
+The root ViewModel. If the current ViewModel has no parents this value will be itself.
### vm.$compiler
diff --git a/source/api/instantiation-options.md b/source/api/instantiation-options.md
index 9049f41e57..e70c48abf9 100644
--- a/source/api/instantiation-options.md
+++ b/source/api/instantiation-options.md
@@ -33,7 +33,7 @@ vm.a // 3
The object must be JSON-compliant (no circular references). You can use it just like an ordinary object, and it will look exactly the same when serialized with `JSON.stringify`. You can also share it between multiple ViewModels.
-Under the hood, vue.js attaches a hidden property `__emitter__` and recursively converts the object's non-function properties into getters and setters that trigger events when called. Properties with keys that starts with `$` or `_` are skipped.
+Under the hood, Vue.js attaches a hidden property `__emitter__` and recursively converts the object's non-function properties into getters and setters that trigger events when called. Properties with keys that starts with `$` or `_` are skipped.
### methods
@@ -131,7 +131,7 @@ A string template to be inserted into `vm.$el`. Any existing markup inside `vm.$
If it starts with `#` it will be used as a querySelector and use the selected element's innerHTML and the template string. This allows the use of the common `