首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Vue小白开始学习

Vue小白开始学习

作者头像
用户11690639
发布2026-06-17 21:57:25
发布2026-06-17 21:57:25
20
举报

import中@符意思

代码语言:javascript
复制
import Hello from '@/components/Hello'


vue
模板的代码,里面都有,这是
webpack
的路径别名,相关定义在这里webpack模版配置 文件如下:

resolve: {
    // 自动补全的扩展名
    extensions: ['.js', '.vue', '.json'],
    // 默认路径代理
    // 例如 import Vue from 'vue',会自动到 'vue/dist/vue.common.js'中寻找
    alias: {
        '@': resolve('src'),
        '@config': resolve('config'),
        'vue$': 'vue/dist/vue.common.js'
    }
}


@等价于 /src 这个目录

vue中的import和Export的含义

代码语言:javascript
复制
是用了webpackage实现模块化,import是导入,export是导出。

impor 如下是引用哪些类,这个概念很好理解,有过语言基础的也很容易理解,如下所示:

在这里插入图片描述
在这里插入图片描述

export可以导出多个组件,export default 只可导出一个组件,例如

代码语言:javascript
复制
//demo1.js
export const str = 'hello world'

export function f(a){
    return a+1
}

对应的导入

代码语言:javascript
复制
//demo2.js
import { str, f } from 'demo1'
代码语言:javascript
复制
export default 只能导出一个默认模块,这个模块可以匿名,例如:
//demo1.js
export default {
    a: 'hello',
    b: 'world'      
}

对应的导入为:

代码语言:javascript
复制
//demo2.js
import obj from 'demo1'
引入时,这个模块可以任意取名,如obj,而有不用大括号括

import什么情况下,要用{}的方式引入,什么情况下,只需要一个变量就行。

代码语言:javascript
复制
(1) 使用export抛出的变量需要用{}进行import: 
//a.js 
export function getList(){}; 
//b.js 
import { getList } from ‘./a.js’;

而使用Export default 只需要一个名字就行

代码语言:javascript
复制
//a.js 
var obj = { name: ‘zhazhahui’ }; 
export default obj; 
//b.js 
import aaa from ‘./a.js’; 
console.log(aaa.name);// ‘zhazhahui’;
  • 切记,一个js文件中,只能有一个export default; 但是,一个js文件中,可以有多个export。

拖拽事件

代码语言:javascript
复制
在拖放的过程中会触发以下事件:

在拖动目标上触发事件 (源元素):
ondragstart - 用户开始拖动元素时触发
ondrag - 元素正在拖动时触发
ondragend - 用户完成元素拖动后触发

释放目标时触发的事件:
ondragenter - 当被鼠标拖动的对象进入其容器范围内时触发此事件
ondragover - 当某被拖动的对象在另一对象容器范围内拖动时触发此事件
ondragleave - 当被鼠标拖动的对象离开其容器范围内时触发此事件
ondrop - 在一个拖动过程中,释放鼠标键时触发此事件

在本项目中的引用,拖拽排序 div-vue引用事件

代码语言:javascript
复制
 <div class="col-md-12 " v-for="(item,index) in targetItems" :code="item.code" draggable="true"
             @dragstart="handleDragStart($event,item)"
             @dragover.prevent="handleDragOver($event,item)"
             @dragenter="handleDragEnter($event,item)"
             @dragend="handleDragEnd($event,item)">{{item.name}}
 </div>

JS中引用的事件内容

代码语言:javascript
复制
    //开始拖拽时的事件(显示拖拽内容)
    handleDragStart(e, item) {
        this.dragging = item;
      },
	//拖拽结束事件(不显示拖拽内容)
      handleDragEnd(e, item) {
        this.dragging = null;
      },
      //在dragenter中针对放置目标来设置!
      handleDragOver(e, item) {
        e.dataTransfer.dropEffet = 'move'
      },
      //拖拽到指定DIV时的效果,为需要移动的元素设置dragstart事件
      handleDragEnter(e, item) {
        e.dataTransfer.effectAllowed = 'move';
        if (item === this.dragging) {
        //如果放至中原位置什么都不做返回
          return;
        }
        const newItems = [...this.targetItems]
        console.log(newItems)
        const src = newItems.indexOf(this.dragging)
        const dst = newItems.indexOf(item)
        //把两个元素互换位置
        newItems.splice(dest, 0, ...newItems.splice(src, 1))
        this.targetItems = newItems
      }

splice函数用法

js 函数,是指数组中添加新元素或删除新元素,语法格式为:array.splice(index,delNum,newContent),index是指从数组下标第几个元素起操作,delNum是指从当前下标起删除元素的个数(如果是0则不删除,只增加),newContent是指向数组中增加的内容是什么。

  • 注意:这种方法会改变原始数组。
代码语言:javascript
复制
var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi");

fruits 输出结果:

代码语言:javascript
复制
Banana,Orange,Lemon,Kiwi,Apple,Mango

删除元素后增加内容

代码语言:javascript
复制
var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,3,"William")
document.write(arr)

则输出结果为

代码语言:javascript
复制
George,John,Thomas,James,Adrew,Martin
George,John,William,Martin

如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组

代码语言:javascript
复制
var sites=["Runoob","google","tabao"]
sites.splice(2,1);
document.write(sites)
sites.splice(2,0)

结果

代码语言:javascript
复制
[tabao]
[]

(…)ES6三点扩展运算符

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-06-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • import中@符意思
  • vue中的import和Export的含义
  • 拖拽事件
  • splice函数用法
  • (…)ES6三点扩展运算符
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档