老张跟着老许学前端之less---element ui---vuex(vue2的状态管理器)

这两天学的东西比较多,进度有点快,没有完全掌握,把这两天学习的东西写成文章巩固一下!

1、less  css框架

1.1、Less框架的安装和引用:

1.1.1、安装:

yarn add less

安装成功后再在’package.json‘中检查是否安装成功:

安装好less包以后,在安装less-loader,这个是less的一个绑定包,有了他以后才可以引用less的全局变量。

yarn add less-loader

老规矩,检查安装:

这样,less就安装成功了,如果版本号出问题,可以去查适应版本的版本号,重新安装就可以。

1.1.2、页面引用:

因为下载了less-loader的原因,所以现在可以直接在任何一个页面中去使用less框架,只需要规定他是less就可以了:

<style lang="less" scoped></style>

这个时候就可以用less框架的写法去写css了

1.1.3、写法:

less的写法和传统的css很像,但是他的父级子级的区分更加明显:

<div class = "father">
    <div class = "son">
        <div class = "son2"></div>
    </div>
</div>



<style lang = "less" scoped>
.father{
    width:100px;
    height:100px;
    .son{
        width:50px;
        height:50px;    
        .son2{
           width:50px;      
           height:50px 
             }
        }
}

</style>

他的子级可以写在父级的里面,这样子父级的布局更加的明朗。 

1.2、less的使用和引入:

less css框架是有变量的,他的变量写法是:

@width:30px;
@height:30px;
@color:red;
// 这个是变量的写法,引用的方式是:
.css{
    width:@width;
    height:@height;
    color:@color;
}

这个是变量的引入和使用方式,他还有组合的写法和引入方式,代码如下:

.display{
    display:flex;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
}
// 这是混合组件写法,引入方式如下:

.css{
    .display()
}

他还可以把变量写在外部的.less里面,然后需要的地方直接引入就可以了:

.displayFLexAllCenter {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.displayFlexTopCenter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
@color_white: #fff;
@bg_color_yellow: #f2d855;
@text_color_while100: #cccccc;
@text_color_while200: #999999;
@text_color_black: #333333;
@radius1: 12px;
@radius2: 20px;
@marginTop: 20px;


// 这个是外部的样式,他的名字叫做baseStyle.less

页面引入:

<style lang="less" scoped>
@import "@/baseStyle.less";
</style>

不要忘了去main.js中去声明一下你的外部less文件!!! 

这样就引入成功了,可以直接使用变量去定义你的css。这样外部定义的样式,基本是为了当你的页面存在两种形态的时候,可以切换去改变颜色,比如,日间夜间模式。以上就是基础的less学习和用法,后面会有更深入的学习,我会写成新的文档。

2、element ui   UI框架

2.1、element ui的安装和引入:

// 第一步,老规矩,yarn一下:

yarn add element-ui

老规矩,检查安装情况和版本号:

去main.js引入,引入方式和router路由的引入方式基本一样:

 三句代码,基本上固定写法,死记硬背就可以了:

import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";

Vue.use(ElementUI);

这样就安装完成了,就可以去使用了。使用方法就不写了。

element-ui遇到的第一个坑:

我用了element-ui里面的input组件,然后给了他一个class,发现完全更改不了他的任何css,后面展开发现,这个class类名直接给了这个input的外层,并且还给了他一个div,

完全不知道怎么去解决,还好我是1v1老前端教学,这个时候许老师帮我解决了这个问题,因为我用了less框架,所以直接让父级包子级,给子级去覆盖样式:

 

然后就解决了给不了样式的问题,element-ui这些ui框架会有很多很多的坑,后面我遇到的所有的坑,我都会写成文章,供以后自己查询使用。

3、状态管理器:vuex!!!! 

3.1、vuex状态管理器的安装和引入:

因为我学习的是vue2,所以我需要引入vuex的版本是@3:Vue3用的是@4

yarn add vuex@3

安装后老规矩,检查安装状态和版本号:

然后再src文件夹下新建一个文件夹叫做stores,里面新建一个文件:index.js,然后在里面引入:

import Vue from "vue";  // 这一步是在引用vue库
import vuex from "vuex"; // 这一步是在引用vuex库

Vue.use(vuex); // 将vuex挂载在vue中(这个vue项目要使用vuex)

export default new vuex.Store({ // 默认抛出一个实例化构造函数vuex.store
	state() {  // 一个函数,名字叫state,里面返回一个值isLogin:false
		return {
			isLogin: false, // 里面可以返回无数个公共变量
		};
	},
	mutations: {  // 一个对象,里面放了一个函数,函数接收两个入参,一个state,一个boo
		changeIsLogin(state, boo) { // 这里的state封装好的,可以直接访问到上一个state()函数
			state.isLogin = boo;  // 这里给boo赋值,让boo的值等于state的返回值
		},
	},
});


// vuex不允许直接修改state里面的返回值(公共变量),所以mutations是为了修改state的值而存在的
// mutations可以去修改state的值,但是不是必须的,里面可以写逻辑,愿意干啥就干啥,但只能js
// 但是我们一般是mutations只去修改state的值,如果需要写逻辑或者其他东西,一般新起一个函数:

export default new vuex.Store({ // 默认抛出一个实例化构造函数vuex.store
	state() {  // 一个函数,名字叫state,里面返回一个值isLogin:false
		return {
			isLogin: false, // 里面可以返回无数个公共变量
		};
	},
	mutations: {  // 一个对象,里面放了一个函数,函数接收两个入参,一个state,一个boo
		changeIsLogin(state, boo) { // 这里的state封装好的,可以直接访问到上一个state()函数
			state.isLogin = boo;  // 这里给boo赋值,让boo的值等于state的返回值
		},
	},
     actions: { // 这个函数是为了写逻辑的,
        increment (context) {  
              context.commit('increment')
                // 如果写完了逻辑以后需要修改state的值,就这样写
                // context.commit("")
        }
     }
});

配置完以后,需要挂载到vue项目中,让全局都可以读取到state中的变量:

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
wkhtmltopdf是一个开源的HTML到PDF转换器,它可以通过命令行工具在Linux、Windows和Mac OS X上运行。在使用wkhtmltopdf的过程中,我们有时需要在请求HTML页面的时候带上cookie,以便获取页面的权限或者获取登录后的数据。下面是一个完整的案例,演示如何在使用wkhtmltopdf的时候带上cookie。 1.安装wkhtmltopdf 在使用wkhtmltopdf之前,我们需要先安装它。wkhtmltopdf官网提供了各个平台下的安装包,可以直接下载安装。你也可以通过包管理工具进行安装,比如在Ubuntu上可以通过以下命令安装: ``` sudo apt-get install wkhtmltopdf ``` 2.创建一个测试的HTML页面 在本地创建一个测试的HTML页面,可以用任何文本编辑器创建一个名为`test.html`的文件,内容可以是任意的HTML代码,比如: ``` <!DOCTYPE html> <html> <head> <title>Test Page</title> </head> <body> <h1>Hello, World!</h1> </body> </html> ``` 3.设置cookie 假设我们需要在请求`test.html`页面的时候带上一个名为`auth_token`的cookie,那么我们可以通过以下命令将cookie保存到一个名为`cookie.txt`的文件中: ``` echo "auth_token=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" > cookie.txt ``` 在这里我们将`auth_token`的值设置为`XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`,你需要将其替换成你自己的值。 4.使用wkhtmltopdf生成PDF文件 现在我们可以使用wkhtmltopdf来生成PDF文件了,需要使用的命令行参数有两个:`--cookie-jar`和`--cookie`。`--cookie-jar`用于指定cookie文件的路径,`--cookie`用于指定需要传递的cookie,格式为`name value`,其中`name`是cookie的名称,`value`是cookie的值。 以下是生成PDF文件的命令: ``` wkhtmltopdf --cookie-jar cookie.txt --cookie auth_token XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX test.html test.pdf ``` 其中`XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`为你设置的`auth_token`值。这个命令将使用`cookie.txt`文件中的cookie,并将生成的PDF文件保存为`test.pdf`。 5.验证PDF文件 现在可以使用PDF阅读器打开`test.pdf`文件,验证是否成功生成。如果一切正常,你应该可以看到一个包含`Hello, World!`标题的PDF文件。 以上就是使用wkhtmltopdf带cookie的完整案例。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值