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

这篇具有很好参考价值的文章主要介绍了vue基本操作[上] 续更----让世界感知你的存在。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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的方法

项目结构如图:
vue基本操作[上] 续更----让世界感知你的存在



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引入$,然后使用即可

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



这个图中有黄色的警告,如果把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>

"""



今天就分享到这里啦,有时间会续更哦,感谢支持!文章来源地址https://www.toymoban.com/news/detail-579003.html

到了这里,关于vue基本操作[上] 续更----让世界感知你的存在的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 探索MATLAB世界:掌握基础知识与实用技能(1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环,1. 数据分析与统计 2. 图像处理与计算机视觉 3. 信号处理与控制系统)

    欢迎阅读本篇博客,我们将深入探讨MATLAB语言的基础知识与实用技能,旨在帮助初学者、初中级MATLAB程序员以及在校大学生系统地掌握这门强大的科学计算与数据可视化工具。 一、MATLAB的基础知识 1. MATLAB环境与基本操作 2. 数据类型与变量 3. 条件与循环 二、MATLAB的实用技能

    2024年03月12日
    浏览(49)
  • OpenCV基本图像处理操作(一)——图像基本操作与形态学操作

    图像显示 转hsv图像 颜色表示为三个组成部分:色调(Hue)、饱和度(Saturation)和亮度(Value)。常用于图像处理中,因为它允许调整颜色的感知特性,如色彩和亮度,这些在RGB颜色模型中不那么直观。 HSV模型特别适用于任务如图像分割和对象追踪,因为它可以更好地处理光

    2024年04月22日
    浏览(37)
  • Git基本操作:版本打Tag的作用以及基本操作流程

    作用介绍 在git代码管理时,有时候我们想对某个特定的commit 添加标记,比如要标识版本信息,这时候就可以用的git中的打标签功能。 打tag就类似于我们看书放书签一样,以后可以直接用tag找到提交的位置,不然的话,就只有看commit的哈希值返回指定位置,比较繁琐。 特别强

    2024年02月13日
    浏览(29)
  • OpenCV基本操作——算数操作

    两个图像应该具有相同的大小和类型,或者第二个图像可以是标量值 注意:OpenCV加法和Numpy加法之间存在差异。OpenCV的加法是饱和操作,而Numpy添加的是模运算 ((414, 500, 3), (429, 499, 3)) (429, 499, 3) 其实也是加法,只是权重不同

    2024年02月13日
    浏览(36)
  • Elasticsearch基本操作之文档操作

    本文来说下Elasticsearch基本操作之文档操作 文档概述 在创建好索引的基础上来创建文档,并添加数据。 这里的文档可以类比为关系型数据库中的表数据,添加的数据格式为 JSON 格式。 在 apifox 中,向 ES 服务器发 POST 请求 :http://localhost:9200/person/_doc,请求体内容为: 服务器响

    2024年02月01日
    浏览(33)
  • Java操作mongodb的基本操作

    目录 MongoDB的基本操作 新增 方式一: 方式二: 删除:  带条件的删除 修改 修改条件 修改并添加  多条件修改: 查询 普通查询 条件查询 ​编辑 多条件查询 模糊查询: 查询除来的结果有两种的显示方式: MongoDB中的文档本质上是一种类似JSON的BSON格式的数据。 BSON是一种类

    2023年04月09日
    浏览(40)
  • java 操作es 的基本操作

    创建索引 创建索引别名 索引的相关设置 查询索引数据 bulk 导入数据 持续更新中~ pom的坐标

    2024年01月20日
    浏览(34)
  • GIT —— 基本操作,分支管理,远程操作

    最近找实习,在完善简历,遂发一发存货,有待持续完善,我认为这部分非常的有意义 创建 配置 将配置生效于 当前机器的 所有仓库 删除配置/删除全局配置 .git :版本库,不允许手欠做任何修改! stage/ 或 index/ :暂存区,索引 gitcode/ : 工作区 修改的工作区内容会写入**对

    2024年02月11日
    浏览(57)
  • OpenCV基本操作——图像的基础操作

    注:opencv图像坐标系中,左上角是原点,y轴向下,x轴向右,单位像素点 有时需要在B,G,R通道图像上单独工作。在这种情况下,需要将BGR图像分割成单个通道。或者在其他情况下,可能需要将这些单独的通道合并到BGR图像 opencv中有150多种颜色空间转换方法。最广泛使用的转

    2024年02月13日
    浏览(45)
  • 【Docker】2、Docker 基本操作【镜像操作】

    🔋 镜像名称一般由两部分组成: [repository]:[tag] 🔋 若没有指定 tag ,默认是 latest (最新版本的镜像) 更多命令: docker --help 从 DockerHub 拉取 nginx 镜像 🔋① 访问 DockerHub 官网【https://hub.docker.com/】 🔋② 搜索 nginx 🔋③ 执行拉取镜像的命令 🔋④ 查看所有镜像 ✏️ ① 把

    2024年02月06日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包