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 () { | ||||
|     // avoid duplicate inserts, since update() can be
 | ||||
|     // called with different truthy values
 | ||||
|     if (this.decompile) { | ||||
|       return | ||||
|     } | ||||
|     var vm = this.vm | ||||
|     var frag = templateParser.clone(this.template) | ||||
|     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 () { | ||||
|       el.setAttribute('v-if', 'test') | ||||
|       var vm = new Vue({ | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue