1. 默认使用
1 2 3 4 5 6 7 8 9 10 |
props: { obj: { type:Object, default:() => ({}) }, arr: { type:Array, default:() => ([]) } } |
2. 为什么需要通过函数的形式 因为对象和数组都是属于我们的复杂类型,在进行访问指向的时候我们使用的是对象和数组的地址,而不像基础数据类型那。 如果我们没有通过函数的形式去设置对象和数据类型的默认值,而是直接采用{}和[],如果多个使用该组件的地方因为没有传递props而使用了默认值,假设其中一个地方我们修改了默认的值(不推荐,会报警告,不符合反向数据流),那么其他的地方由于指向的是同一个内存中的引用地址,其他地方的显示值也会发生修改 我们使用了函数的形式去返回,保证每次函数执行出来的都是返回一个新的对象,这样就不会出现上面所有的情况 from:https://blog.csdn.net/YoungtiNine/article/details/121367452
View Details准备代码:
const res = []
const arr = [1, 2, 3, 4, 5]
function t(num) {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('定时器', num)
resolve()
}, 1000)
})
}
function t2(item) {
console.log('进入res')
res.push(item)
}
调用方法: 引入jQuery和owl.carousel相关组件
1 2 3 4 |
<link href="css/owl.carousel.css" rel="stylesheet"> <link href="css/owl.theme.css" rel="stylesheet"> <script src="js/jquery.js"></script> <script src="js/owl.carousel.js"></script> |
HTML
1 2 3 4 5 6 |
<div id="owl-demo" class="owl-carousel"> <a class="item"><img src="img/owl1.jpg" alt=""></a> <a class="item"><img src="img/owl2.jpg" alt=""></a> <a class="item"><img src="img/owl3.jpg" alt=""></a> ...... </div> |
JS调用
1 2 3 |
$(function(){ $('#owl-example').owlCarousel(); }); |
参数说明: 参数 描述 默认值 items 幻灯片每页可见个数 5 itemsDesktop 设置浏览器宽度和幻灯片可见个数,格式为[X,Y],X 为浏览器宽度,Y 为可见个数,如[1199,4]就是如果浏览器宽度小于1199,每页显示 4 张,此参数主要用于响应式设计。也可以使用 false [1199,4] itemsDesktopSmall 同上 [979,3] itemsTablet 同上 [768,2] itemsTabletSmall 同上,默认为 false false itemsMobile 同上 [479,1] itemsCustom singleItem 是否只显示一张 false itemsScaleUp slideSpeed 幻灯片切换速度,以毫秒为单位 200 paginationSpeed 分页切换速度,以毫秒为单位 800 rewindSpeed 重回速度,以毫秒为单位 1000 autoPlay 自动播放,可选布尔值或整数,若使用整数,如 3000,表示 3 秒切换一次;若设置为 true,默认 5 秒切换一次 false stopOnHover 鼠标悬停停止自动播放 false navigation 显示“上一个”、“下一个” false navigationText 设置“上一个”、“下一个”文字,默认是[“prev”,”next”] [“prev”,”next”] rewindNav 滑动到第一个 true scrollPerPage 每页滚动而不是每个项目滚动 false pagination 显示分页 true paginationNumbers 分页按钮显示数字 false responsive responsiveRefreshRate 每 200 毫秒检测窗口宽度并做相应的调整,主要用于响应式 200 […]
View Details1.安装依赖
2.配置 webpack.base.conf.js
3.添加 tsconfig.json
4.让 ts 识别 .vue
5..js 文件重命名为.ts 文件
6.改造 .vue 文件
7.运行 npm run dev
8.让vue识别全局方法/变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// 方法一 (typeof window !== 'undefined' ? window : (typeof process === 'object' && typeof require === 'function' && typeof global === 'object') ? global : this); // 方法二 var getGlobal = function () { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } throw new Error('unable to locate global object'); }; |
View Details
Node.js 服务端的 JavaScript,所有的包依赖、开发脚手架都是基于node.js的。 下载地址:https://nodejs.org/en/ Python 有些依赖包是python写的。 下载地址:https://www.python.org/downloads/release/python-2717/ Vscode 微软开源轻量级IDE,插件多,受众广泛。 下载地址:https://visualstudio.microsoft.com/zh-hans/downloads/ 安装过node.js之后,就可以cmd下查看npm的版本了,vue2要求npm的版本3.0以上。 用以下命令查看npm版本:npm -v 使用淘宝 NPM 镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org #升级 npm cnpm install npm -g # 升级或安装 cnpm npm install cnpm -g 安装Vue命令行工具 # 全局安装 vue-cli $ npm install --global vue-cli
View Detailsvue项目中在单独的js文件中使用element ui 例如要使用MessageBox组件 例如要使用MessageBox组件 1.引入组件 import { MessageBox } from "element-ui"; 2.使用 MessageBox.confirm("这是一个内容", "这是一个标题" ,{undefined distinguishCancelAndClose: true, confirmButtonText: ‘确认’, showClose:false, showCancelButton:false }).then(()=>{undefined // 点击确认按钮的回调 }) 一般是在响应拦截器中使用,亲测有效 ———————————————— 版权声明:本文为CSDN博主「流年*痕迹」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_52007839/article/details/111663753
View Detailsinput[type="search"]{-webkit-appearance:none;} input::-webkit-search-cancel-button {display: none;} http://www.html-5.cn/WebApp/css/10243.html ———————————————— 版权声明:本文为CSDN博主「LYC_2011_ACM」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/LYC_2011_ACM/article/details/9149071
View Details一、问题描述 执行 npm run build:prod
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
ERROR TypeError: Class extends value undefined is not a constructor or null TypeError: Class extends value undefined is not a constructor or null at Object.<anonymous> (C:\Users\司超龙\IdeaProjects\vue\base_education_vue\base_education_third_3.0+\grass-roots teaching system\node_modules\mini-css-extract-plugin\dist\CssDependency.js:12:46) at Module._compile (internal/modules/cjs/loader.js:1063:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) at Module.load (internal/modules/cjs/loader.js:928:32) at Function.Module._load (internal/modules/cjs/loader.js:769:14) at Module.require (internal/modules/cjs/loader.js:952:19) at require (internal/modules/cjs/helpers.js:88:18) at Object.<anonymous> (C:\Users\司超龙\IdeaProjects\vue\base_education_vue\base_education_third_3.0+\grass-roots teaching system\node_modules\mini-css-extract-plugin\dist\index.js:12:45) at Module._compile (internal/modules/cjs/loader.js:1063:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! vue-admin-template@4.4.0 build:prod: `vue-cli-service build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the vue-admin-template@4.4.0 build:prod script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above. npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\司超龙\AppData\Roaming\npm-cache\_logs\2021-03-26T13_04_34_482Z-debug.log |
执行num run build:prod 报错,但是npm run dev没问题 二、解决 TypeError: Class extends value undefined is not a constructor or null at Object.<anonymous> (C:\Users\司超龙\IdeaProjects\vue\base_education_vue\base_education_third_3.0+\grass-roots teaching system\node_modules\mini-css-extract-plugin\dist\CssDependency.js:12:46) CssDependency的问题,依赖包不兼容 执行npm add webpack@4.5.0,解决 from:https://blog.csdn.net/qq_24654501/article/details/115254960
View Details前言 本文整理了高频出现的 Vue 相关面试题并且附带详解答案 难度分为简单 中等 困难 三种类型 大家可以先不看答案自测一下自己的 Vue 水平哈 如果对原理感兴趣的同学 欢迎查看小编的手写 Vue 源码系列文章 如果对答案有不一样见解的同学欢迎评论区补充讨论 最后欢迎大家点击 链接 加入到鲨鱼哥的前端群 内推 讨论技术 摸鱼 求助 皆可(进群免费领取 Vue2 源码思维导图哈) 整理不易 如果觉得本文有帮助 记得点赞三连哦 十分感谢! 简单 1 MVC 和 MVVM 区别 MVC MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范 Model(模型):是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据 View(视图):是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的 Controller(控制器):是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据 MVC 的思想:一句话描述就是 Controller 负责将 Model 的数据用 View 显示出来,换句话说就是在 Controller 里面把 Model 的数据赋值给 View。 MVVM MVVM 新增了 VM 类 ViewModel 层:做了两件事达到了数据的双向绑定 一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。 MVVM 与 MVC 最大的区别就是:它实现了 View 和 Model 的自动同步,也就是当 Model 的属性改变时,我们不用再自己手动操作 Dom 元素,来改变 View 的显示,而是改变属性后该属性对应 View 层显示会自动改变(对应Vue数据驱动的思想) 整体看来,MVVM 比 MVC 精简很多,不仅简化了业务与界面的依赖,还解决了数据频繁更新的问题,不用再用选择器操作 DOM […]
View Details