当前位置: 首页 > ai >正文

Vue中的template配置项

2025/4/19

向全栈工程师迈进!

一、只能有一个根节点

1.1 回顾 

先回顾一下我们之前的第一个Vue程序的写法,进行了一些稍微的改动,如下所示:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>template配置项详解</title><script src="D:/tets_html/Vue/vue.js"></script>
</head>
<body><div id="app"></div><script>new Vue({template : '<h1>{{msg}}</h1>',data : {msg : 'hello vue!'}}).$mount("#app")</script>
</body>
</html>

 显示效果如下

1.2 测试多个根节点

要是我想在template模板中想多添加一些标签,是否可行呢?

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>template配置项详解</title><script src="D:/tets_html/Vue/vue.js"></script>
</head>
<body><div id="app"></div><script>new Vue({template : '<h1>{{msg}}</h1><h1>是否可以呢?</h1>',data : {msg : 'hello vue!'}}).$mount("#app")</script>
</body>
</html>

显示了如下错误,同时想要显示的语句也没能如期的显示出来。 

 template配置项要求:template后面指定的是模板语句,但是模板语句中只能有一个根节点

既然只能有一个根节点,那就使用一个div标签最为根节点,然后其他的作为子节点,这样是否可以实现呢?如下所示: 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>template配置项详解</title><script src="D:/tets_html/Vue/vue.js"></script>
</head>
<body><div id="app"></div><script>new Vue({template : '<div> <h1>{{msg}}</h1><h1>是否看的见?</h1> </div>',data : {msg : 'hello vue!'}}).$mount("#app")</script>
</body>
</html>

如下所示,这样做是可以的。

二、 模版语句重新编译

只要data中的数据值发生改变,其模板语句就会重新编译!当初次加载页面的时候,模板语句会被Vue的编译器编译,当data改变,就重新编译。

三、挂载处被替换

先来看个示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>template配置项详解</title><script src="D:/tets_html/Vue/vue.js"></script>
</head>
<body><div id="app">看不见</div><script>new Vue({template : '<div> <h1>{{msg}}</h1><h1>看的见</h1> </div>',data : {msg : 'hello vue!'}}).$mount("#app")</script>
</body>
</html>

可以发现,模版根据挂载的位置自动的将其给替换掉了,看不见语句被替换了。 

四、template模板直接写在html中

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>template配置项详解</title><script src="D:/tets_html/Vue/vue.js"></script>
</head>
<body><div id="app"><div> <h1>{{msg}}</h1><h1>看的见</h1> </div></div><script>new Vue({// template : '<div> <h1>{{msg}}</h1><h1>看的见</h1> </div>',data : {msg : 'hello vue!'}}).$mount("#app")</script>
</body>
</html>

所以目前我们可以不使用template来编写模板语句,可以直接写下HTML中,Vue框架也是可以自动的找到其位置并编译。 

五、el 配置项

使用el配置项后,我们就可以不在使用.$mount("#app")这种方式将vue实例绑定在特定位置;可以使用el来告诉Vue实例它需要接管的容器。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>template配置项详解</title><script src="D:/tets_html/Vue/vue.js"></script>
</head>
<body><div id="app"><div> <h1>{{msg}}</h1><h1>看的见</h1> </div></div><script>new Vue({// template : '<div> <h1>{{msg}}</h1><h1>看的见</h1> </div>',data : {msg : 'hello vue!'},el : '#app' //该Vue实例接管id为app的容器})// }).$mount("#app")</script>
</body>
</html>

在实例中添加el : '#app' 就是告诉该Vue实例你需要接管id为app的容器。 

撸起袖子加油干!   CCE

2025/4/19

http://www.xdnf.cn/news/460.html

相关文章:

  • Kafka下载和使用(Windows版)
  • docker 大模型
  • 【数学】勾股定理
  • 速查手册:TA-Lib 超过150种量化技术指标计算全解 - 2. Momentum Indicators(动量指标)
  • 编译报错 宏 _IOC_SIZEBITS,而这个宏在编译时未定义
  • 2025年赣教云智慧作业微课PPT模板
  • 网络互连与互联网4
  • [Java实战经验]异常处理最佳实践
  • 【langchain4j】Springboot如何接入大模型以及实战开发-AI问答助手(一)
  • 深入剖析JavaScript内存泄漏:识别、定位与实战解决
  • BZOJ P1419 Red is good
  • 软件测试--自动化测试1
  • 如何使用flatten函数在Terraform 中迭代嵌套map
  • 【HDFS入门】HDFS性能调优实战:压缩与编码技术深度解析
  • 若依(笔记)
  • C++入门小馆: 深入string类
  • Redis启动报错(error) NOAUTH Authentication required
  • NodeRED模拟复杂流程处理
  • MACOS 上的 快捷指令怎么用,有哪些分享资源可以用
  • WSL (ext4.vhdx文件)占用空间过大,清理方式记录,同时更改 WSL 保存位置
  • 电脑 访问 github提示 找不到网页,处理方案
  • CRC实战宝典:从原理到代码,全面攻克循环冗余校验
  • 驱动-自旋锁死锁
  • Linux系统之部署TestNet资产管理系统
  • Java使用javacv实现的多种音视频格式播放器
  • 字符串系列一>二进制求和
  • 【重走C++学习之路】12、模板进阶
  • 智慧农业新视界:视频监控管理平台如何赋能现代农业
  • Trae,字节跳动推出的 AI 编程助手插件
  • TensorFlow 实现 Mixture Density Network (MDN) 的完整说明