Comparing version 0.7.5 to 0.7.6
{ | ||
"name": "vue", | ||
"version": "0.7.5", | ||
"version": "0.7.6", | ||
"author": { | ||
@@ -28,2 +28,8 @@ "name": "Evan You", | ||
"grunt-contrib-jshint": "~0.8.0", | ||
"grunt-contrib-connect": "~0.6.0", | ||
"grunt-karma": "~0.6.2", | ||
"grunt-karma-coveralls": "~2.3.0", | ||
"grunt-saucelabs": "~4.1.2", | ||
"gulp-component": "~0.1.4", | ||
"vinyl-fs": "git://github.com/wearefractal/vinyl-fs", | ||
"jshint-stylish": "~0.1.4", | ||
@@ -34,19 +40,15 @@ "semver": "~2.2.1", | ||
"uglify-js": "~2.4.8", | ||
"vinyl-fs": "git://github.com/wearefractal/vinyl-fs", | ||
"gulp-component": "~0.1.4", | ||
"grunt-karma": "~0.6.2", | ||
"karma": "~0.10.9", | ||
"karma-mocha": "~0.1.1", | ||
"karma-coverage": "~0.1.4", | ||
"karma-script-launcher": "~0.1.0", | ||
"karma-phantomjs-launcher": "~0.1.1", | ||
"karma-chrome-launcher": "~0.1.2", | ||
"karma-firefox-launcher": "~0.1.3", | ||
"karma-safari-launcher": "~0.1.1", | ||
"karma-requirejs": "~0.2.1", | ||
"karma-html2js-preprocessor": "~0.1.0", | ||
"karma-jasmine": "~0.1.5", | ||
"karma-coffee-preprocessor": "~0.1.2", | ||
"karma-phantomjs-launcher": "~0.1.1", | ||
"karma": "~0.10.9", | ||
"karma-mocha": "~0.1.1", | ||
"karma-coverage": "~0.1.4", | ||
"karma-safari-launcher": "~0.1.1", | ||
"grunt-karma-coveralls": "~2.3.0" | ||
"karma-coffee-preprocessor": "~0.1.2" | ||
} | ||
} |
@@ -1,4 +0,4 @@ | ||
<p align="center"><a href="http://vuejs.org" target="_blank"><img src="http://vuejs.org/images/logo.png"></a></p> | ||
<p align="center"><a href="http://vuejs.org" target="_blank"><img width="100"src="http://vuejs.org/images/logo.png"></a></p> | ||
# vue.js [![Build Status](https://travis-ci.org/yyx990803/vue.png?branch=master)](https://travis-ci.org/yyx990803/vue) [![Coverage Status](https://coveralls.io/repos/yyx990803/vue/badge.png)](https://coveralls.io/r/yyx990803/vue) | ||
# Vue.js [![Build Status](https://travis-ci.org/yyx990803/vue.png?branch=master)](https://travis-ci.org/yyx990803/vue) [![Selenium Test Status](https://saucelabs.com/buildstatus/vuejs)](https://saucelabs.com/u/vuejs) [![Coverage Status](https://coveralls.io/repos/yyx990803/vue/badge.png)](https://coveralls.io/r/yyx990803/vue) | ||
@@ -11,6 +11,4 @@ > Simple, Fast & Composable MVVM for building interative interfaces. | ||
Technically, it provides the **ViewModel** layer of the MVVM pattern, which connects the **View** (the actual HTML that the user sees) and the **Model** (JSON-compliant plain JavaScript objects) via two way data-bindings. | ||
It provides the **ViewModel** layer of the MVVM pattern, which connects the **View** (the actual HTML that the user sees) and the **Model** (JSON-compliant plain JavaScript objects) via two-way data bindings. Actuall DOM manipulations and output formatting are abstracted away into **Directives** and **Filters**. | ||
Philosophically, the goal is to allow the developer to embrace an extremely minimal mental model when dealing with interfaces - there's only one type of object you need to worry about: the ViewModel. It is where all the view logic happens, and manipulating the ViewModel will automatically keep the View and the Model in sync. Actuall DOM manipulations and output formatting are abstracted away into **Directives** and **Filters**. | ||
For more details, guides and documentations, visit [vuejs.org](http://vuejs.org). | ||
@@ -20,5 +18,3 @@ | ||
- Most Webkit/Blink-based browsers | ||
- Firefox 4+ | ||
- IE9+ (IE9 needs [classList polyfill](https://github.com/remy/polyfills/blob/master/classList.js) and doesn't support transitions) | ||
Vue.js supports [most ECMAScript 5 compliant browsers](https://saucelabs.com/u/vuejs), essentially IE9+. IE9 needs [classList polyfill](https://github.com/remy/polyfills/blob/master/classList.js) and doesn't support transitions. | ||
@@ -56,2 +52,4 @@ ## Development | ||
MIT | ||
[MIT](http://opensource.org/licenses/MIT) | ||
Copyright (c) 2014 Evan You |
@@ -346,5 +346,7 @@ var Emitter = require('./emitter'), | ||
CompilerProto.compileTextNode = function (node) { | ||
var tokens = TextParser.parse(node.nodeValue) | ||
if (!tokens) return | ||
var el, token, directive | ||
var el, token, directive, partial, partialId, partialNodes | ||
for (var i = 0, l = tokens.length; i < l; i++) { | ||
@@ -354,9 +356,11 @@ token = tokens[i] | ||
if (token.key.charAt(0) === '>') { // a partial | ||
var partialId = token.key.slice(1).trim(), | ||
partial = this.getOption('partials', partialId) | ||
partialId = token.key.slice(1).trim() | ||
partial = this.getOption('partials', partialId) | ||
if (partial) { | ||
el = partial.cloneNode(true) | ||
this.compileNode(el) | ||
// save an Array reference of the partial's nodes | ||
// so we can compile them AFTER appending the fragment | ||
partialNodes = slice.call(el.childNodes) | ||
} | ||
} else { // a binding | ||
} else { // a real binding | ||
el = document.createTextNode('') | ||
@@ -371,3 +375,16 @@ directive = Directive.parse('text', token.key, this, el) | ||
} | ||
// insert node | ||
node.parentNode.insertBefore(el, node) | ||
// compile partial after appending, because its children's parentNode | ||
// will change from the fragment to the correct parentNode. | ||
// This could affect directives that need access to its element's parentNode. | ||
if (partialNodes) { | ||
for (var j = 0, k = partialNodes.length; j < k; j++) { | ||
this.compile(partialNodes[j]) | ||
} | ||
partialNodes = null | ||
} | ||
} | ||
@@ -536,5 +553,3 @@ node.parentNode.removeChild(node) | ||
// bind the accessors to the vm | ||
if (binding.isFn) { | ||
binding.value = utils.bind(value, vm) | ||
} else { | ||
if (!binding.isFn) { | ||
value.$get = utils.bind(value.$get, vm) | ||
@@ -541,0 +556,0 @@ if (value.$set) { |
@@ -32,2 +32,3 @@ var utils = require('../utils') | ||
event = this.arg, | ||
isExp = this.binding.isExp, | ||
ownerVM = this.binding.compiler.vm | ||
@@ -55,3 +56,3 @@ | ||
e.targetVM = target.vue_viewmodel | ||
handler.call(ownerVM, e) | ||
handler.call(isExp ? e.targetVM : ownerVM, e) | ||
} | ||
@@ -58,0 +59,0 @@ } |
@@ -8,9 +8,6 @@ var config = require('./config'), | ||
// PhantomJS doesn't support rAF, yet it has the global | ||
// variable exposed. Use setTimeout so tests can work. | ||
var defer = navigator.userAgent.indexOf('PhantomJS') > -1 | ||
? window.setTimeout | ||
: (window.webkitRequestAnimationFrame || | ||
window.requestAnimationFrame || | ||
window.setTimeout) | ||
var defer = | ||
window.requestAnimationFrame || | ||
window.webkitRequestAnimationFrame || | ||
window.setTimeout | ||
@@ -17,0 +14,0 @@ /** |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
1491336
34
2692
26
52