Vue是怎么渲染template內的標簽內容的
我們在使用Vue做項目時,都會用到腳手架,相應的我們會在template寫標簽內容。那么你知道為什么會在template寫標簽嗎?這當中經過了怎樣的處理呢?
<template> <div id="app"> <div id="nav"> </div> <router-view/> </div> </template> <style lang="less"> </style>
其實Vue在處理template時,是經過這樣處理的,它是通過內置的render方法處理我們輸入的標簽,生成VNodes。下面我注釋了template內的代碼,你可以先看下效果,然后注釋掉render方法內的內容,取消注釋template??聪虑昂笮Ч欠褚粯印?/p>
<!DOCTYPE html>
<html>
<head>
<title>render</title>
</head>
<style type="text/css">
#text{
font-weight: bold;
font-size: 26px;
}
</style>
<body>
<div id="app">
</div>
</body>
<script type="text/javascript" src="https://unpkg.com/vue@2.6.11/dist/vue.js"></script>
<script type="text/javascript">
const vm = new Vue({
el:'#app',
data: {
text: 'hello world',
style1: {
width: '200px',
height: '200px',
border: '1px solid red'
},
style2: {
textAlign: 'center'
},
colorText: {
color:'blue'
}
},
// template:`<div :style='style1'>
// <p :style='style2'>
// <span :style='colorText' @click='cli()' id='text'>{{text}}</span>
// </p>
// </div>`,
// methods:{
// cli(){
// alert(1)
// }
// },
render(createElement) {
return createElement('div', {
style: this.style1
}, [
createElement('p', {
style: this.style2
}, [createElement('span', {
style: this.colorText,
attrs:{
id:'text'
},
on:{
click:()=>{
alert(1)
}
}
}, this.text)])
])
}
})
</script>
</html>
到此這篇關于Vue是怎么渲染template內的標簽內容的的文章就介紹到這了,更多相關Vue渲染template內容內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue中關于this.refs為空出現(xiàn)原因及分析
這篇文章主要介紹了vue中關于this.refs為空出現(xiàn)原因及分析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
詳細講解如何創(chuàng)建, 發(fā)布自己的 Vue UI 組件庫
當我們自己開發(fā)了一個 _UI Component_, 需要在多個項目中使用的時候呢? 我們首先想到的可能是直接復制一份過去對嗎?我們?yōu)槭裁床话l(fā)布一個 UI 組件庫給自己用呢?下面小編和大家來一起學習下吧2019-05-05
vue中v-for數據狀態(tài)值變了,但是視圖沒改變的解決方案
這篇文章主要介紹了vue中v-for數據狀態(tài)值變了,但是視圖沒改變的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06
解決打包后出現(xiàn)錯誤y.a.addRoute is not a function的
這篇文章主要介紹了解決打包后出現(xiàn)y.a.addRoute is not a function的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10

