真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Vue.js中定義組件模板的方法有哪些

這篇文章主要介紹Vue.js中定義組件模板的方法有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

為德欽等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務,及德欽網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務為做網(wǎng)站、成都網(wǎng)站設(shè)計、德欽網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!

Vue.js 使用了基于 HTML 的模板語法,允許開發(fā)者聲明式地將 DOM 綁定至底層 Vue 實例的數(shù)據(jù)。所有 Vue.js 的模板都是合法的 HTML ,所以能被遵循規(guī)范的瀏覽器和 HTML 解析器解析。

在Vue中定義組件模板有很多選擇。在我看來,至少有七種不同的方式:

  • 字符串

  • 模板文字

  • X-Templates

  • 內(nèi)聯(lián)

  • 渲染功能

  • JSX

  • 單頁組件

在本文中,我們將逐一介紹每種方法的示例,并討論其優(yōu)缺點,以便您了解在任何特定情況下使用哪種方法最好。

1、字符串

默認情況下,模板將被定義為JS文件中的字符串。我想我們都同意字符串中的模板是非常難以理解的。除了廣泛的瀏覽器支持之外,這個方法沒有什么特別之處。

Vue.component('my-checkbox', {
	template: `
	
	
{{ title }}
`, data() { return { checked: false, title: 'Check me' } }, methods: { check() { this.checked = !this.checked; } } });

2、模板文字

ES6模板字面量(“backticks”)允許您跨多行定義模板,這是在常規(guī)Javascript字符串中無法做到的。雖然為了安全起見,您可能仍然應該轉(zhuǎn)換為ES5,但現(xiàn)在許多新瀏覽器都支持這些命令,并且更容易閱讀。

不過,這種方法并不完美;我發(fā)現(xiàn)大多數(shù)ide在語法高亮、制表符、換行等方面仍然讓您感到痛苦。

Vue.component('my-checkbox', {
    template: ` < div class = "checkbox-wrapper"@click = "check" > 
    
							{{ title }}`,
	data() {
		return { checked: false, title: 'Check me' }
	},
	methods: {
		check() { this.checked = !this.checked; }
	}
});/

3、X-Templates

使用此方法,您的模板將在index.html文件中的腳本標記中定義。腳本標記由文本/x-template標記,并由組件定義中的id引用。

我喜歡這種方法,它允許您用正確的HTML標記編寫HTML,但缺點是它將模板與組件定義的其余部分分開。

Vue.component('my-checkbox', {
	template: '#checkbox-template',
	data() {
		return { checked: false, title: 'Check me' }
	},
	methods: {
		check() { this.checked = !this.checked; }
	}
});

	
		
		{{ title }}
	

4、內(nèi)聯(lián)模板

通過向組件添加inline-template屬性,您可以向Vue表明內(nèi)部內(nèi)容是其模板,而不是將其視為分布式內(nèi)容。

它的缺點與x-templates相同,但一個優(yōu)點是內(nèi)容在HTML模板中的正確位置,因此可以在頁面加載時呈現(xiàn),而不是等到Javascript運行時。

Vue.component('my-checkbox', {
	data() {
		return { checked: false, title: 'Check me' }
	},
	methods: {
		check() { this.checked = !this.checked; }
	}
});

	
		
		{{ title }}
	

5、渲染功能

呈現(xiàn)函數(shù)要求您將模板定義為Javascript對象。它們顯然是模板選項中最冗長和抽象的。

但是,這樣做的好處是模板更接近編譯器,并且允許您訪問完整的Javascript功能,而不是指令提供的子集。

Vue.component('my-checkbox', {
	data() {
		return { checked: false, title: 'Check me' }
	},
	methods: {
		check() { this.checked = !this.checked; }
	},
	render(createElement) {
		return createElement(
			'div',
		  	{
					attrs: {
						'class': 'checkbox-wrapper'
					},
					on: {
						click: this.check
					}
		  	},
		  	[
		    	createElement(
	      		'div',
	      		{
	        		'class': {
	        			checkbox: true,
	        			checked: this.checked
        			}
	      		}
		    	),
		    	createElement(
	      		'div',
	      		{
	        		attrs: {
	          		'class': 'title'
	        		}
	      		},
	      		[ this.title ]
		    	)
		  	]
		);
	}
});

6、JSX

Vue中最有爭議的模板選項是JSX。一些開發(fā)人員認為JSX丑陋、不直觀,是對Vue精神的背叛。

JSX要求您首先進行轉(zhuǎn)換,因為瀏覽器無法讀取它。但是,如果需要使用呈現(xiàn)函數(shù),JSX肯定是定義模板的一種不那么抽象的方法。

Vue.component('my-checkbox', {
	data() {
		return { checked: false, title: 'Check me' }
	},
	methods: {
		check() { this.checked = !this.checked; }
	},
	render() {
		return 
		         
		         { this.title }
		       
	}
});

7、單個文件組件

只要您對在設(shè)置中使用構(gòu)建工具感到滿意,單個文件組件就是模板選項之王。它們帶來了兩方面的好處:允許您在編寫標記的同時將所有組件定義保存在一個文件中。

它們需要換位,而且有些ide不支持這種文件類型的語法高亮顯示,但在其他方面很難打敗它們。


以上是“Vue.js中定義組件模板的方法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


分享名稱:Vue.js中定義組件模板的方法有哪些
分享路徑:http://weahome.cn/article/jjcjod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部