初学Vue

vue知识点(一)

  • 1.vue的基本格式
  • 2.vue实例
  • 3.v-bind绑定属性
  • 4.v-on事件绑定
  • 5.v-model双向绑定
  • 6.v-for循环
  • 7.v-if和v-show的区别
  • 8.过滤器fliter
  • 9.自定义键盘事件
  • 10.vue项目目录结构

1.vue的基本格式

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="https://cdn.jsdelivr.net/npm/vue@2.5.17/dist/vue.js" type="text/javascript" charset="utf-8"></script>
	</head>
	
	<body>
		<div id="app">
		</div>
		<script type="text/javascript">
			var vm = new Vue({
				el:"#app",
				data:{
					
				},
				methods:{
					
				}
			})
		</script>
	</body>
</html>

首先到导入vue.js文件,可以通过网络链接导入,也可以把vue.js文件保存到本地的lib,使用时,直接script输入路径即可。

2.vue实例 

存放Vue要控制的区域,data属性里面存放的时控制的区域要用到的数据,下面还有,methods(函数),computed(计算属性)等。要访问data上饿数据,或者要访问methods中的方法,必须带this。

var vm = new Vue({
				el:"#app" ,// 表示当前我们new的这个Vue实例控制哪个区
				data:{ //data属性中存放的是el中要用到的数据
					msg : "doubleDi",
				}
			})

3.v-bind绑定属性

v-bind提供绑定属性命令,其中v-bind里面可以填入合法的js表达式,v-bind的简写是 ‘:'。可以绑定样式:v-bind:class v-bind:style

<input type="button" name="" id="" value="按钮"  v-bind:title = "mytitle+'123'" v-on:click="show"/>
<input type="button" name="" id="" value="按钮"  :title = "mytitle+'123'" v-on:click="show"/>

4.v-on事件绑定,及事件修饰符

v-on提供绑定事件的命令 简写是'@'

<!-- 使用.self触发只有点击元素才会触发 -->
<div id="app" class="inner" @click.self="div1Handler">
<!-- 使用.stop阻止冒泡 -->
	<input type="button" name="" id="" value="按钮" @click.stop="btnHandler"/>
	<!-- 使用.prevent阻止默认事件 -->
	<a href="www.baidu.com" @click.prevent="LinkClick">股票无敌网站</a>
</div>
		

事件修饰符:有些事件之间是有联系的,例如,点击一个超链接,为了不让其跳转,即可使用.prevent时间修饰符来修饰click事件
.stop阻止冒泡
.prevent阻止默认事件
.capture添加事件监听器时使用事件捕捉模式
.self只当事件在该元素本身触发时回调 
.once事件只触发一次 

5.v-model实现数据的双向绑定

绑定之后,绑定的标签元素会自动去vue的data下寻找绑定的数据,当data修改时,标签元素会修改,当标签元素修改时,vue中data的值也会修改。注意:v-model只能运用于表单元素。

<!-- v-bind只能从M绑定到V中,不能双向 -->
<input type="text" v-bind:value="msg" name="" id="" value="" />
<input type="text" name="" id="" v-model="msg" />

6.v-for 循环对象数组

<div id="app">
	<p v-for="(user,i) in list">
		{{i}}  {{user.id}}  {{user.name}}
	</p>
</div>
<script type="text/javascript">
	var vm = new Vue({
		el:"#app",
		data:{
			list:[
				{id :1,name:"zs1"},
				{id :2,name:'zs2'},
				{id:3,name:'zs3'},
				{id:4,name:'zs4'}
			]
		},
		methods:{
					
		}
	})
</script>

有时,为了单独区分循环的每一个元素,要在v-for中添加key属性,其中key只能时number或者string类型

<p v-for="item in list" :key = "item.id">
	<input type="checkbox" name="" id="" value="" />
	{{item.id}}---{{item.name}}
</p>

7.v-show 和 v-if的区别

v-if在切换时,组件会被删去,或者新建,有更高的切换消耗

v-show在切换时,组件只是被设置为不可见了,减少了切换的消耗,但对初始渲染的消耗会增加

<h3 v-if="flag">这是用v-if控制的元素</h3>
<h3 v-show="flag">这是用v-show控制的元素</h3>

8.过滤器fliter

过滤器可以按照指定的格式把data输出,或者只输出符合格式的数据

forEach,some,filter,findIndex 这些都是数组的新方法,都会数组中的每一项进行遍历,执行相关操作

//  定义一个过滤器
Vue.filter('timeFormat',function(dataStr){
	// 根据给定的字符串得到特定的时间
	var dt = new Date(dataStr)
	var year = dt.getFullYear()
	var month = dt.getMonth()+1
	var day = dt.getDay()
	// return year + "-"+month+'-'+day
	return `${year}-${month}-${day}`
})

9.自定义的键盘事件

// 自定义按键   前面是自定义名称,后面为码值
Vue.config.keyCodes.f2 = 113
			
// 使用directive定义全局指令,
// 其中参数1:指令名称,注意,在定义的时候,指令的名称前面,不需要加v-前缀
// 但是有时候,必须加上v-前缀进行调用
// 参数2:是一个对象,这个对象身上,有一些指令相关的函数
Vue.directive('focu',{
	bind:function(el,binding){//每当函数绑定到元素上的时候,会立即执行这个bind函数,只执行一次
		// 注意:在每个函数中,第一个参数,永远是el,表示被绑定了指令的那个对象,el是原生的JS对象
		el.focus()
		console.log(binding.value)
		console.log(binding.expression)
		el.style.color=binding.value
	},
	inserted:function(el){//元素插入DOM中的时候,会执行inserted函数
		el.focus()
	},
	updated:function(el){//当VDNode更新的时候,会执行updated,可能会执行很多次
		el.focus()
	}
})
// 和样式相关的最好在bind里面执行
// 和行为相关的最好在inserted里执行
Vue.directive('color',{
	bind:function(el){
		el.style.color = 'red'
	},
				
})

10.vue项目目录结构

vue目录结构

build--项目构建的相关代码。

config--配置目录,包括端口号等。

node_modules--npm加载的项目依赖模块

src--在主要的一个文件夹,项目开发大多都是在这个文件夹里开发

   -assets:放置一些图片,如logo等

   -components:存放组件文件

   -App.vue:项目的入口文件

   -main.js:项目的核心文件

static:静态资源文件,如:图片,字体等

index.html:首页入口文件

package.json:项目配置文件

 

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
初学Vue的案例练习题可以从以下几个方面进行练习: 1. 组件的基本使用:创建一个Vue组件,在模板中展示一些静态文本或数据,并在组件中定义一些基本的数据和方法。 2. 数据绑定:练习使用v-model指令和数据绑定来实现双向数据绑定,例如创建一个表单,实时显示输入框中的内容。 3. 列表渲染:使用v-for指令来循环渲染一个数组或对象的数据,并在模板中展示列表数据。 4. 条件渲染:使用v-if和v-else指令来根据条件动态地展示或隐藏一些元素。 5. 事件处理:练习使用v-on指令来监听DOM事件,并在事件处理函数中修改数据或执行其他逻辑。 6. 组件通信:练习使用props和emit来实现父子组件之间的数据传递和通信。 7. 生命周期:了解Vue的生命周期钩子函数,练习在创建、更新和销毁组件时执行相应的逻辑。 8. 路由和导航:学习使用Vue Router插件来实现前端路由和导航功能,创建不同路径下的页面。 9. 状态管理:学习使用Vuex插件来实现全局状态管理,练习在不同组件之间共享和修改状态。 以上是初学Vue时可以练习的一些案例题目,你可以根据自己的学习进度和需求选择适合自己的练习项目。如果需要更多详细的案例和代码实例,你可以参考中提供的学习资料和中的项目案例地址。另外,你还可以在Vue官方文档和在线教程中找到更多的实例和练习题目进行学习。希望对你有帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue3+TypeScript从入门到进阶(三)——Vue3基础知识点(上)——附沿途学习案例及项目实战代码](https://blog.csdn.net/wuyxinu/article/details/124639124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值