html标签

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>html标签</title>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	</head>
	<body>
		<div id="box">
			<p>{{text}}</p>
			<p v-html="text"></p>
		</div>
		<script>
			/* 百度富文本编辑器  http://fex.baidu.com/ueditor/*/
			Vue.config.productionTip = false;
			const vm = new Vue({
				el:'#box',
				data:{
					text:"<b>这里显示一些内容</b>"
				}
			})

		</script>
	</body>
</html>

Set方法的使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>set方法的使用</title>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	</head>
	<body>
		<div id="box">
			<h1>{{user.age}}岁</h1>
			<!-- v-if 不会显示标签 -->
			<!-- v-show 会加上 display:none -->
			<h1 v-if="user.sex">{{user.sex}}性</h1>
			<button type="button" @click="user.age++">增加年龄</button>
			<button @click="addSex">添加性别为男性</button>
		</div>
		<script>
			//在做列表渲染的时候一定要加上:key 否者数据发生改变时,样式会错位。
			//key一般使用数据的id
			Vue.config.productionTip = false;
			const vm = new Vue({
				el:'#box',
				data:{
					user:{
						age:1
					}
				},
				methods:{
					addSex(){
						//vm.sex = "男";
						/* 追加的对象  对象名  值 */
						Vue.set(vm.user,'sex','男');
						//vue不允许动态添加根级别的响应式数据
						//Vue.set(vm,'money',100);
					}
				}
			})
			console.log(vm);

		</script>
	</body>
</html>

性能优化

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>性能优化</title>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	</head>
	<body>
		<div id="box">
			<p>{{text}}</p>
			<p v-html="text"></p>
			<!-- v-pre跳过编译 -->
			<div v-pre v-show="false">
				<h1>{{text}}</h1>
				<h1>{{text}}</h1>
				<h1>{{text}}</h1>
			</div>
			{{text}}
			{{text}}
			{{text}}
		</div>
		<script>
			/* 百度富文本编辑器  http://fex.baidu.com/ueditor/*/
			Vue.config.productionTip = false;
			const vm = new Vue({
				el:'#box',
				data:{
					text:"<b>这里显示一些内容</b>"
				}
			})

		</script>
	</body>
</html>

自定义指令 - 全局

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>自定义指令</title>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	</head>
	<body>
		<div id="box">
			<h1 v-my-title="title"></h1>
			<h2 v-my-title>这个也想居中</h2>
		</div>
		<script>
			/* 百度富文本编辑器  http://fex.baidu.com/ueditor/*/
			Vue.config.productionTip = false;
			//全局自定义指令
			Vue.directive('my-title',function(el, binding){
				//文字颜色
				el.style.color = "red";
				//文本居中
				el.style.textAlign = "center";
				if(binding.value.length > 0){//如果有内容才添加内容
					//内容
					//el.innerText = "新华社:"+binding.value;
					//添加内容
					el.innerHTML = "新华社:"+binding.value + "<hr>";
				}
			});
			
			const vm = new Vue({
				el:'#box',
				data:{
					title:"《人民的名义》总监制李学政:王立科曾想让该剧停播"
				}
			})
	
		</script>
	</body>
</html>

自定义指令 - 局部

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>局部 - 自定义指令</title>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	</head>
	<body>
		<div id="box">
			<h1 v-my-title="title"></h1>
		</div>
		<script>
			Vue.config.productionTip = false;
			
			const vm = new Vue({
				el:'#box',
				data:{
					title:"国庆节快乐"
				},
				directives:{//directives不要忘记加s
					'my-title':{
						bind(el, binding){
							//让文字从右往左显示
							//split("") 字符串转数组
							//reverse() 数组倒叙排序
							//join("") 数组转字符串
							el.innerHTML = binding.value.split("").reverse().join("");
						}
					}
				}
			})
	
		</script>
	</body>
</html>

Vue的生命周期(一)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Vue的生命周期(一)</title>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	</head>
	<body>
		<div id="box">
			<h1 :style="{opacity}">渐变效果</h1>
			{{change()}}
		</div>
		<script>
			Vue.config.productionTip = false;
			
			const vm = new Vue({
				el:'#box',
				data:{
					opacity:1
				},
				methods:{
					change(){
						console.log("我执行了");
						setInterval(() =>{
							this.opacity -= 0.1;
							if(this.opacity <= 0){
								this.opacity = 1;
							}
						},1000);
					}
				}
				
			})
			
			
		</script>
	</body>
</html>

Vue的生命周期(二)

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Vue的生命周期(二)</title>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	</head>
	<body>
		<div id="box">
			<h1 :style="{opacity}">渐变效果</h1>
		</div>
		<script>
			Vue.config.productionTip = false;
			
			const vm = new Vue({
				el:'#box',
				data:{
					opacity:1
				},
				methods:{
					
				},
				mounted(){//页面上所有的DOM元素渲染完成之后调用
					console.log("我执行了");
					setInterval(() =>{
						/* this.opacity -= 0.1;
						if(this.opacity <= 0){
							this.opacity = 1;
						} */
						this.opacity <= 0 ? this.opacity=1 : this.opacity -= 0.1;
					},100);
				}
				
			})
			
		</script>
	</body>
</html>

组件的基本使用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>组件的基本使用</title>
		<!-- 开发环境版本,包含了有帮助的命令行警告 -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
	</head>
	<body>
		<div id="box">
			<ntitle></ntitle>
			<ntitle></ntitle>
			<ntitle></ntitle>
			<ntitle></ntitle>
		</div>
		<script>
			Vue.config.productionTip = false;
			
			//通过组件的形式调用,创建标题
			//1、创建组件
			const ntitle = Vue.extend({
				template:`
					<div>
						<h1>{{title}}</h1>
						<h3>编辑:{{name}}</h3>
					</div>
				`,
				data(){
					return {
						title:'科学家研究表明,不吃饭会饿。',
						name:'张三'
					}
				}
			})
			
			const vm = new Vue({
				el:'#box',
				components:{//组件的注册
					ntitle
				}
			})
	
		</script>
	</body>
</html>

 

最后修改于 2021-09-23 17:15:04
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇