mirror of https://github.com/vuejs/vue.git
				
				
				
			fix #539 v-if duplicate compile when a different truthy value is set
This commit is contained in:
		
							parent
							
								
									ee2ae353da
								
							
						
					
					
						commit
						78fa71cc6f
					
				|  | @ -43,6 +43,11 @@ module.exports = { | ||||||
|   }, |   }, | ||||||
| 
 | 
 | ||||||
|   insert: function () { |   insert: function () { | ||||||
|  |     // avoid duplicate inserts, since update() can be
 | ||||||
|  |     // called with different truthy values
 | ||||||
|  |     if (this.decompile) { | ||||||
|  |       return | ||||||
|  |     } | ||||||
|     var vm = this.vm |     var vm = this.vm | ||||||
|     var frag = templateParser.clone(this.template) |     var frag = templateParser.clone(this.template) | ||||||
|     var decompile = this.linker(vm, frag) |     var decompile = this.linker(vm, frag) | ||||||
|  |  | ||||||
|  | @ -145,6 +145,22 @@ if (_.inBrowser) { | ||||||
|       }) |       }) | ||||||
|     }) |     }) | ||||||
| 
 | 
 | ||||||
|  |     it('v-if with different truthy values', function (done) { | ||||||
|  |       var vm = new Vue({ | ||||||
|  |         el: el, | ||||||
|  |         data: { | ||||||
|  |           a: 1 | ||||||
|  |         }, | ||||||
|  |         template: '<div v-if="a">{{a}}</div>' | ||||||
|  |       }) | ||||||
|  |       expect(el.innerHTML).toBe(wrap('<div>1</div>')) | ||||||
|  |       vm.a = 2 | ||||||
|  |       _.nextTick(function () { | ||||||
|  |         expect(el.innerHTML).toBe(wrap('<div>2</div>')) | ||||||
|  |         done() | ||||||
|  |       }) | ||||||
|  |     }) | ||||||
|  | 
 | ||||||
|     it('invalid warn', function () { |     it('invalid warn', function () { | ||||||
|       el.setAttribute('v-if', 'test') |       el.setAttribute('v-if', 'test') | ||||||
|       var vm = new Vue({ |       var vm = new Vue({ | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue