Evan You 10 rokov pred
rodič
commit
5139d5fa7f

+ 1 - 1
src/compiler/compile.js

@@ -9,8 +9,8 @@ var componentDef = require('../directives/component')
 
 // terminal directives
 var terminalDirectives = [
-  'fast-repeat',
   'repeat',
+  'for',
   'if'
 ]
 

+ 2 - 2
src/fast-repeat.js → src/directives/for.js

@@ -1,5 +1,5 @@
-var _ = require('./util')
-var FragmentFactory = require('./fragment/factory')
+var _ = require('../util')
+var FragmentFactory = require('../fragment/factory')
 
 module.exports = {
 

+ 1 - 0
src/directives/index.js

@@ -16,6 +16,7 @@ exports.model = require('./model')
 
 // logic control directives
 exports.repeat = require('./repeat')
+exports['for'] = require('./for')
 exports['if'] = require('./if')
 
 // internal directives that should not be used directly

+ 8 - 3
src/fragment/factory.js

@@ -15,9 +15,14 @@ var linkerCache = new Cache(5000)
 
 function FragmentFactory (vm, el) {
   this.vm = vm
-  var template = this.template = _.isTemplate(el)
-    ? templateParser.parse(el, true)
-    : el
+  var template
+  if (!_.isTemplate(el)) {
+    template = document.createDocumentFragment()
+    template.appendChild(el)
+  } else {
+    template = templateParser.parse(el, true)
+  }
+  this.template = template
   // linker can be cached, but only for components
   var linker
   var cid = vm.constructor.cid

+ 0 - 2
src/vue.js

@@ -86,6 +86,4 @@ extend(p, require('./api/events'))
 extend(p, require('./api/child'))
 extend(p, require('./api/lifecycle'))
 
-Vue.directive('fast-repeat', require('./fast-repeat'))
-
 module.exports = _.Vue = Vue