Vue.js菜鸟教程自学(一)

导入js:
一、hello vue

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
	<div id="app">
		<p>{{ message }}</p>
	</div>
<script>
	new Vue({
		el: '#app',
		 data:{
			 message:'Hello Vue.js!'
		}
	})
</script>
</body>
</html>

二、vue起步
1.每个 Vue 应用都需要通过实例化 Vue 来实现。
2.Vue构造器中有一个el参数来确定元素
用data定义属性,methods定义函数,{{}}用于输出对象属性和函数返回值。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
</head>
<body>
Vue构造器:
	<div id="vue_det">
		<h1>site:{{ site }}</h1>
		<h1>url:{{ url }}</h1>
		<h1>{{ details() }}</h1>
		<h1>answer:{{ self() }}</h1>
	</div>
Vue事例创建:
	<div class="vue2">
		<h1>site:{{ site2 }}</h1>
		<h1>url:{{ url2 }}</h1>
	</div>
	<script type="text/javascript">
	 var vm = new Vue({
	 	el:'#vue_det',
	 	data:{
	 		site:"菜鸟教程",
	 		url:"www.runoob.com",
	 		ale:"10000"
	 	},
	 	methods:{
	 		details:function(){
	 			return this.site+"技术不是梦"
	 		},
	 		self:function(){
	 			var x=1,y=2;
	 			return x+y;
	 		}
	 	}
	 })
	 var data2 = {site2:"菜鸟教程2",url2:"www2"}
	 var vm2 = new Vue({
	 	el:'.vue2',
	 	data : data2
	 })
	 console.log(vm2.site2===data2.site2);
	 vm2.site2="xxxx";
	</script>
</body>
</html>

3.当一个Vue实例被创建时,他向Vue的响应式系统中加入了其data对象中能找到的所有属性。当这些属性的值发生变化时,html视图将也会产生相应的变化。
4.除了数据属性,Vue实例还提供了一些有用的实例属性和方法。他们的前缀都是$,以便于用户定义的属性分开来。
三、Vue模板语法
1.插值:{{}}
使用v-html来输出html代码
属性:HTML 属性中的值应使用 v-bind 指令。
以下实例判断 class1 的值,如果为 true 使用 class1 类的样式

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<style type="text/css">
	.class1{
		background: #444;
		color: #eee;
	}
	.class2{
		background:red;
		color: #000;
	}
</style>
<body>
	<div id="app">
		<label>修改颜色</label><input type="checkbox" v-model="use" id="r1">
		<br><br>
		<div v-bind:class="{'class1':use}">
			<div v-bind:class="{'class2':!use}">
				v-bind:class指令
			</div>
		</div>
	</div>
	<script type="text/javascript">
	new Vue({
		el:'#app',
		data:{
			use:false
		}
	})
	</script>
</body>
</html>

表达式:Vue.js 都提供了完全的 JavaScript 表达式支持。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<body>
<style type="text/css">
	#list-1{
		background: red;
	}
</style>
	<div id="app">
		{{5+5}}<br>
		{{ok ? 'YES':'NO'}}<br>
		{{message.split('').reverse().join('')}}
		<div v-bind:id="'list-'+id">{{message}}</div>
	</div>
	<script type="text/javascript">
		new Vue({
			el:'#app',
			data:{
				ok:true,
				message:'RUNOOB',
				id:1
			}
		})
	</script>
</body>
</html>

2.指令
指令是带有v-前缀的特殊属性。
指令用于在表达式的值改变时,将默写行为应用到DOM上。如下例子:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<body>
	<div id="app">
		<p v-if="seen">现在你看到我了</p>
		<p v-if='!seen'>xxxxxxxx</p>
	</div>
</body>
<script type="text/javascript">
	new Vue({
		el:'#app',
		data:{
			seen:true
		}
	})
</script>
</html>

这里, v-if 指令将根据表达式 seen 的值(true 或 false )来决定是否插入 p 元素。
2.参数

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<body>
	<div id="app">
		<pre><a v-bind:href="url">菜鸟教程</a></pre>
	</div>
	<script type="text/javascript">
	 new Vue({
	 	el:'#app',
	 	data:{
	 		url:'http://www.runoob.com'
	 	}
	 })
	</script>
</body>
</html>

参数在指令后以冒号指明。例如, v-bind 指令被用来响应地更新 HTML 属性。
另一个例子是 v-on 指令,它用于监听 DOM 事件:

在这里参数是监听的事件名。
3.修饰符
修饰符是以半角句号 . 指明的特殊后缀,用于指出一个指令应该以特殊方式绑定。例如,.prevent 修饰符告诉 v-on 指令对于触发的事件调用 event.preventDefault():

````
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值