Browse Source

do not remove slot attribute (close #1281)

Evan You 10 years ago
parent
commit
8d6d010964
2 changed files with 4 additions and 7 deletions
  1. 0 3
      src/directives/element/slot.js
  2. 4 4
      test/unit/specs/directives/element/slot_spec.js

+ 0 - 3
src/directives/element/slot.js

@@ -115,9 +115,6 @@ function extractFragment (nodes, parent, main) {
       node = templateParser.parse(node)
     }
     node = templateParser.clone(node)
-    if (node.attributes) {
-      node.removeAttribute('slot')
-    }
     frag.appendChild(node)
   }
 }

+ 4 - 4
test/unit/specs/directives/element/slot_spec.js

@@ -60,7 +60,7 @@ describe('Slot Distribution', function () {
     el.innerHTML = '<p slot="t">1</p><div></div><p slot="t">2</p>'
     options.template = '<slot name="t"></slot>'
     mount()
-    expect(el.innerHTML).toBe('<p>1</p><p>2</p>')
+    expect(el.innerHTML).toBe('<p slot="t">1</p><p slot="t">2</p>')
   })
 
   it('default content should only render parts not selected', function () {
@@ -70,7 +70,7 @@ describe('Slot Distribution', function () {
       '<slot></slot>' +
       '<slot name="b"></slot>'
     mount()
-    expect(el.innerHTML).toBe('<p>1</p><div>hi</div><p>2</p>')
+    expect(el.innerHTML).toBe('<p slot="a">1</p><div>hi</div><p slot="b">2</p>')
   })
 
   it('content transclusion with replace', function () {
@@ -126,7 +126,7 @@ describe('Slot Distribution', function () {
       theName: 'two'
     }
     mount()
-    expect(el.innerHTML).toBe('<p>two</p>')
+    expect(el.innerHTML).toBe('<p slot="two">two</p>')
   })
 
   it('content should be dynamic and compiled in parent scope', function (done) {
@@ -194,7 +194,7 @@ describe('Slot Distribution', function () {
         this.list = this.$options._content.querySelectorAll('p').length
       }
     })
-    expect(el.innerHTML).toBe('<div><p>1</p></div><div><p>2</p></div><div><p>3</p></div>')
+    expect(el.innerHTML).toBe('<div><p slot="1">1</p></div><div><p slot="2">2</p></div><div><p slot="3">3</p></div>')
   })
 
   it('v-for + component + parent directive + transclusion', function (done) {