Просмотр исходного кода

fix v-repeat + custom element component

Evan You 11 лет назад
Родитель
Сommit
537fcf7684
2 измененных файлов с 18 добавлено и 1 удалено
  1. 1 1
      src/directives/repeat.js
  2. 17 0
      test/unit/specs/directives/repeat_spec.js

+ 1 - 1
src/directives/repeat.js

@@ -112,7 +112,7 @@ module.exports = {
             $parent: this.vm
           })
           this.template = transclude(this.template, merged)
-          this._linkFn = compile(this.template, merged)
+          this._linkFn = compile(this.template, merged, false, true)
         }
       } else {
         // to be resolved later

+ 17 - 0
test/unit/specs/directives/repeat_spec.js

@@ -141,6 +141,23 @@ if (_.inBrowser) {
       expect(el.innerHTML).toBe('<p>0 1</p><p>1 2</p><p>2 3</p><!--v-repeat-->')
     })
 
+    it('custom element component', function () {
+      var vm = new Vue({
+        el: el,
+        data: {
+          items: [{a:1}, {a:2}, {a:3}]
+        },
+        template: '<test-component v-repeat="items"></test-component>',
+        components: {
+          'test-component': {
+            template: '<p>{{$index}} {{a}}</p>',
+            replace: true
+          }
+        }
+      })
+      expect(el.innerHTML).toBe('<p>0 1</p><p>1 2</p><p>2 3</p><!--v-repeat-->')
+    })
+
     it('nested repeats', function () {
       var vm = new Vue({
         el: el,