0.10.0 Release Candidate
Pre-release
Pre-release
- Build: https://raw.github.com/yyx990803/vue/0.10-rc/dist/vue.js
- Install via Component:
component install yyx990803/vue@0.10.0-rc - Install via NPM:
npm install yyx990803/vue#0.10.0-rc
New
- Literal directives can now contain mustache interpolation tags. These tags will be evaluated once at compile time. An example would be conditionally choose which component to create with
v-component="{{type}}". - Attributes listed in the
paramAttributesoption now accept mustache interpolations too. They will also only be evaluated once. v-repeatnow accepts an argument which will be used as the identifier for the wrapped object. This allows more explicit property access in repeaters.- Added
v-viewdirective which binds to a string value and dynamically instantiate different components using that string as the component ID. See the updated routing example. - Added
filterByandorderByfilters forv-repeat. example - Custom filters that access properties on its
thiscontext will be considered computed filters. Any directive that uses a computed filter will be forced into a computed directive even when the binding is a simple keypath. - You can now access the event in
v-onhandler expressions as$event. Example:<a v-on="click:handle('hello', $event)">Hello</a> - Interpolation delimiters can now be customized via the
delimitersglobal config option. Example:Vue.config({ delimiters: ["[", "]"] })will change the matched interpolation tags to[[ ]]for text bindings and[[[ ]]]for html bindings.
Changed
- To use a component as a custom element, the component ID must now contain a hyphen (
-). This is consistent with the current custom element spec draft. v-repeatArrays' augmented methods have been renamed to$set(index, value)and$remove(index | value)to better differentiate from native methods. Thereplacemethod has been removed.- When iterating over an Object with
v-repeat, the object no longer gets a$repeaterarray. Instead, the object is now augmented with two methods:$add(key, value)and$delete(key), which will trigger corresponding view updates. - Production build now strips all warnings and debug logs. To leverage
debug: trueyou now have to use the development version. v-ifnow creates and destroys a child ViewModel instance when the binding value changes, instead of simply removing/inserting the DOM node. In addition, it can no longer be used withv-repeat. Usev-showor the new built-in array filters instead.v-withcan no longer be used alone. It now must be used with eitherv-componentorv-view.v-componentcan also be used as an empty directive just to create a child VM using the defaultVueconstructor.
Fixed
event.stopPropagation()andevent.preventDefault()insidev-onhandlers now work as expected.parentoption now works properly when used inVue.extend- Mustache bindings inside
<textarea>are now properly interpolated before being set as value.
Internal
v-component,v-withandv-ifhave been re-written for a cleaner compile flow.v-repeathas been re-written to use refined diff algorithm which triggers minimum DOM manipulations when the array is set to a different instance containing overlapping elements. This makes it efficient to pipe an Array through filters.- The compiling procedure has been further optimized and instantiation perf has increased roughly 20%.