首页 > 其他分享 >vue基本操作[上] 续更----让世界感知你的存在

vue基本操作[上] 续更----让世界感知你的存在

时间:2023-07-18 22:44:05浏览次数:29  
标签:function vue -- js ---- 事件 数组 基本操作

Vue引用js文件的多种方式

1.vue-cli webpack全局引入jquery

(1)首先 npm install jquery --save (--save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。)

(2)在webpack.base.conf.js里加入
"""

var webpack = require("webpack")

"""
(3)在module.exports的最后加入
"""

plugins: [
 new webpack.optimize.CommonsChunkPlugin('common.js'),
 new webpack.ProvidePlugin({
 jQuery: "jquery",
 $: "jquery"
 })
]

"""
(4) 在main.js 引入就ok了
"""

import $ from 'jquery'

"""
(5)然后 npm run dev 就可以在页面中直接用$ 了.

2.vue组件引用外部js的方法

项目结构如图:
image



content组件代码:
"""

<template>
 <div>
   <input ref='test' id="test">
   <button @click='diyfun'>Click</button>
 </div>
</template>
<script>
import {myfun} from '../js/test.js' //注意路径
export default {
 data () {
  return {
   testvalue: ''
  }
 },
 methods:{
   diyfun:function(){
	 myfun();
   }
 }
}
</script>

"""


test.js代码:

"""

function myfun() {
console.log('Success')
}
export { //很关键
 myfun
}

"""


用到了es6的语法。

3.单vue页面引用内部js方法

(1) 首先 npm install jquery --save (--save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。)

(2) 在需要引用的vue页面import引入$,然后使用即可

image



这个图中有黄色的警告,如果把console.log($)改成这样:
"""

export default{
  mounted: function(){
	console.log($)
  }
}

"""



Vue数组操作

vue中数组的操作总结:

根据索引设置元素:

1.调用$set方法:

this.arr.$set(index, val);

2.调用splice方法:

this.arr.splice(index, 1, val);

合并数组:

this.arr = this.arr.concat(anotherArr);

清空数组:

this.arr = [];

主要的数组方法:

1.变异方法(修改了原始数组),vue为触发视图更新,包装了以下变异方法:

push()
pop()
shift()
unshift()
splice()  //无论何时,使用该方法删除元素时注意数组长度有变化,bug可能就是因为她
sort()
reverse()

2.非变异方法(不会修改原始数组而是返回一个新数组),如concat()、filter(),使用时直接用新数组替换旧数组,如上面的合并数组例子。

注意:

//以下操作均无法触发视图更新
this.arr[index] = val;
this.arr.length = 2;  





Vue属性绑定指令 -- v-bind

可简写为 :

普通属性:页面可解析为id=“4”
"""

<p v-bind:id="2*2">{{msg}}</p>

"""


class属性绑定
"""

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<meta http-equiv="X-UA-Compatible" content="ie=edge">
	<title>Document</title>
	<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
	<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<style>
	.red {
		background: red;
	}
	.big {
		font-size: 4em;
	}
</style>
<body>
	<div id="app">
		<p class='red'>这是一个p段落标签...</p>
		 <!--绑定red属性  -->
		<p v-bind:class='redColor'>这是一个p段落标签...</p>   
		 <!-- 当点击时,属性值切换 -->
		<p @click="flag=!flag" :class='{red:flag}'>这是一个p段落标签...</p>
		<!-- 绑定big和red属性 -->
		<p class='big' :class="{'red':true}">这是一个p标签..</p>
		 <!-- 以数组形式绑定big和red属性 -->
		<p :class="['big','red']">这是一个p标签..</p>
		 <!-- 绑定big,判断flag的值是否为true,为true时绑定red属性 -->
		<p :class="['big',(flag?'red':'')]">这是一个p标签..</p>
		<!-- 绑定big,判断flag的值是否为true,为true时绑定red属性 -->
		<p class='big' :class='flag?"red":""'>这是一个p标签..</p> 
		<!-- 行内样式绑定 -->
		<p :style="{ color: activeColor, fontSize: fontSize + 'px' }">菜鸟教程</p>  
	</div>
	<script>
		var vm = new Vue({
			el:"#app",
			data:{
				redColor:'red',
				flag:true,
				activeColor: 'green',
				fontSize: 30
			}
		})
	</script>
</body>
</html>

"""



Vue事件绑定

1.原生事件和组件事件的绑定

原生事件的绑定是通过addEventLister绑定给真实的元素的;组件事件绑定是通过vue自定义的$on实现的。如果要在组件上使用原生事件,需要加.native修饰符,这样就相当于在父组件中把子组件当做普通html标签,然后加上原生事件。

2.\(on和\)emit的实现

\(on、\)emit是基于订阅观察者模式的,维护一个事件中心,on的时候将事件按名称存在事件中心里,称之为订阅者,然后emit将对应的事件进行发布,去执行事件中心里的对应的监听器

(1)vue先创建一个构造器,维护一个事件中心events

"""

function EventEmiter(){
	this.events = {}
}

"""



(2)$on

"""

EventEmiter.prototype.on = function(event,cb){
	if(this.events[event]){
		this.events[event].push(cb)
	}else{
		this.events[event] = [cb]
	}
}

"""




(3)$emit

"""

EventEmiter.prototype.emit = function(event){
	let args = Array.from(arguments).slice(1)
	let cbs = this.events[event]
	if(cbs){
		cbs.forEach(cb=>{
			cb.apply(this,args)
		})
	}
}

"""



Vue点击click事件解析

vue算是前端技术比较火的一门技术了,所以在日常开发当中掌握它还是比较重要的,废话不多说,先上代码:
"""

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Title</title>
	<!--<script src="./vue.js"></script>-->
	<script src="2.5.20-vue.js"></script>
</head>
<body>
<div id="app">

"""
//@click点击事件getMethod和getMethod()带不带小括号其实没多大的区别,vue在底层会把传过去的函数统一解析成为方法,带小括号说明有相应的实参传入方法体里面;

"""

	<!--<p   @click="getMethod">aaaa</p>-->       
	<!--<p   @click="getMethodFun">aaaa</p>-->
	<p   @click="getMethod()">aaaa</p>
	<p   @click="getMethodFun()">bbbb</p>
</div>
</body>
<script>
	var app = new Vue({
		el: '#app',
		data: function () {
			return {
				message: 'father',
				show: true
			};
		},
		methods: {
			getMethod () {      //点击事件的时候去寻找相应的方法,在底层做转换直接写方法名,大括号里面写相应的业务逻辑
				console.log('11');
			},
 //也可以采用匿名函数的写法定义方法名,然后进行调用这种方法也是可以的,只不过getMethod ()的写法更加简洁,但是在实际开发当中这个可是不支持的例如   aaFunc (){}         //直接这样写是会报错的,一定要注意;
			getMethodFun: function () {   
				console.log('22')
			}
		},
	});
</script>
</html>

"""



今天就分享到这里啦,有时间会续更哦,感谢支持!

标签:function,vue,--,js,----,事件,数组,基本操作
From: https://www.cnblogs.com/xw-01/p/17564334.html

相关文章

  • C语言:数据类型之整形(一)
     什么是数据?记录一天各个时间的温度,那么这个温度就是数据.记录一个水库水位的变化值,那么这个值就是数据.什么是数据类型?1215是整数12.23是小数"helloworld"是一段话基本数据类型:数值类型:整形,浮点型。整形顾名思义就是整数,像:1,2,3,4,5就是整形整形在C语言的关键字是:int......
  • 初识C语言--2
    指针,指针的大小为4或8字节,取决于使用系统的地址线,32位为4字节。指针变量——用来存放地址取地址——int*p=&a;inta=10;//创建一个空间,此空间有一个地址名,空间存放的值为10int*p=&a;//创建一个空间,名字为p,里面存放的为a的地址*p=20;//*p的意义为p空间中存放的地址,其指......
  • Android 串口开发记录
    一、导入在我们的认识中Android系统是手机系统,它的物理接口一般只有usbhost接口(之前的手机还有耳机接口,不过近几年取消了)。但其实安卓支持各种各样的工业接口,如HDMI、usb、网口、串口等等。本文将来说一下在安卓下开发串口通信。二、串口是什么?串行接口简称串口,也称串行通信接口或......
  • 研发效能|DevOps|平台工程
    欢迎加入我们的「研发效能DevOps」群。我的文章主要首发在scmroad主要关注领域{研发效能、研发工具链、持续集成、交付、DevOps、效能度量、微服务治理、容器、云原生}欢迎添加我(xueliuan)入群,添加请备注公司、职位......
  • 【230718-1】关于x的一元二次方程x^2-(k+3)x+2k+2=0 1)求证方程总有两个实根 2)若方程
    【230718-1】关于x的一元二次方程x^2-(k+3)x+2k+2=01)求证方程总有两个实根2)若方程有一根小于1,求k的取值范围。【解答】......
  • Oracle生成UUID
    使用sys_guid()获取oracleUUID,会出现乱码问题,使用库函数对sys_guid()进行处理,则是标准UUID大写UUIDSELECTsys_guid(),rawtohex(sys_guid())fromdual小写uuidSELECTlower(rawtohex(sys_guid()))fromdual......
  • 分布式事务的对比、优缺点、适用场景及使用注意事项
    分布式事务的对比、优缺点、适用场景及使用注意事项分布式事务是指涉及到多个独立节点之间的事务处理,这些节点可能位于不同的物理设备或不同的网络环境下。在分布式系统中,由于节点的独立性和异构性,分布式事务的处理变得更加复杂和困难。为了确保分布式系统中数据的一致性和可靠性,......
  • Redis 的发布订阅
    Redis发布订阅Redis发布订阅(pub/sub)是一种消息通信模式发送者发送消息pub接受者订阅消息sub例如微信,微博这样的关注系统Redis的客户端可以订阅任意数量的频道,不受限制来看看图示消息发布者消息订阅者频道这里的消息发布者,和消息订阅者都是redis客户端,订阅者订阅某个频道,......
  • 操作符详解
    写在前面这里的内容虽然有些多,不过整体较为简单,我总结了一些相对有些难度的的知识点。操作符C语言的操作符有很种,这里我把常见的一些和大家进行分析一下.算术操作符移位操作符位操作符赋值操作符算术操作符所谓的算数操作符就是我们的加减乘除,没有什么可以谈的.+-*/......
  • 7--18 -- 结构体
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<string.h>structpeo{ charname[20]; chartele[12]; charsex[5]; inthigh;}p1,p2;//structpeo//{// charname[20];// chartele[12];// charsex[5];// inthigh;//}......