网站首页 > 技术文章 正文
1、:class="$route.path.indexOf('contentEdit')>0?'is-active':''"
<router-link :to="contentEditToPath" :class="$route.path.indexOf('contentEdit')>0?'is-active':''" v-if="userInfo.pages['内容维护']">内容维护</router-link>
2、exec() 方法用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
<span v-show="roleInfo.current_role">
({{ roleInfo.current_role ? (/(管理员)/g.exec(roleInfo.current_role) ? /(管理员)/g.exec(roleInfo.current_role)[0] : roleInfo.current_role) : '暂无角色' }})
</span>
3、~ 在 JavaScript 中用来进行按位取反,比如 1999(10) = 11111001111(2),那么 ~1999(10) = 00000110000(2)
原码
原码表示法最高位为符号位,该位为0表示正数,1表示负数。其余位表示数的绝对值。
反码
对于一个带符号的数来说,正数的反码与其原码相同;负数的反码为其原码除符号位以外的各位按位取反。反码常用来做求补码过程中的中间形式。
补码
正数的补码与其原码和反码相同;负数的补码是对它的原码除符号位以外各位取反,并在末位加1而得到,即为该数的补码加1。
isAdmin() {
return this.roleInfo.current_role && ~this.roleInfo.current_role.indexOf('管理员');
}
4、排序
computed: {
contentEditToPath() {
if (this.userInfo.pages && this.userInfo.pages['内容维护']) {
let arr = ['学科素养', '知识说明', '通用考情', '地区进展', '胶囊测评', '魔术卡', '版本'];
let pages = this.userInfo.pages['内容维护'];
pages.sort((a, b) => {
let aIndex = arr.findIndex(item => item === a.name);
let bIndex = arr.findIndex(item => item === b.name);
return aIndex > bIndex ? 1 : -1;
});
return pages[0].path;
}
return '';
}
}
5、用法import * as obj from,这种写法是把所有的输出包裹到obj对象里。
import * as Diff from 'diff';
6、async await写异步代码就像写同步代码一样了,再也没有回调地域了。适用于有互相依赖的请求。
Async—声明一个异步函数(async function someName(){...})
- 自动将常规函数转换成Promise,返回值也是一个Promise对象
- 只有async函数内部的异步操作执行完,才会执行then方法指定的回调函数
- 异步函数内部可以使用await
Await—暂停异步的功能执行(var result = await someAsyncCall();)
- 放置在Promise调用之前,await强制其他代码等待,直到Promise完成并返回结果
- 只能与Promise一起使用,不适用与回调
- 只能在async函数内部使用
pass(resource_type, task_id, name, query) {
const passFun = async () => {
this.isClick = true;
this.hasData = false;
let data = await this.PUT_REVIEW_STATUS({
resource_type,
task_id,
operation: 'pass'
});
if (data.code === 0) {
this.$message({
type: 'success',
message: '已审核通过!',
duration: 500,
onClose: () => {
this.isClick = false;
this.hasData = true;
this.$router.push({name, query});
}
});
} else {
this.isClick = false;
this.hasData = true;
this.$message.warning(data.msg);
}
};
this.$confirm('确认后该版本将成为线上版本,其余版本都不会通过审核,请确认是否继续此操作?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
passFun();
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
},
以上是2020年12月工作总结的部分项目心得后者疑点,还有部分内容将在明天陆续更新出来,敬请期待。
猜你喜欢
- 2024-11-15 ES6中数组新增的方法-超级好用(es6新增数组方法 set map)
- 2024-11-15 2023-05-16:给你一个 严格升序排列 的正整数数组 arr 和一个整数 k 。
- 2024-11-15 ES6中对数组的扩展(es6数组语法)
- 2024-11-15 uni-app基于vue开发小程序与标准vue开发新增点
- 2024-11-15 JavaScript数组方法-高阶函数hope
- 2024-11-15 vue uni-app 数组的操作方法:filter()、map()、forEach()、unsh...
- 2024-11-15 js判断字符串是否在数组中(js判断字符串包含数字)
- 2024-11-15 15个你应该知道的JavaScript的重要数组方法
- 2024-11-15 碎片时间学编程「316]:提供的函数比较器返回两个数组对称差异
- 2024-11-15 Vue进阶(五十九):splice删除、替换、增加指定元素
- 标签列表
-
- content-disposition (47)
- nth-child (56)
- math.pow (44)
- 原型和原型链 (63)
- canvas mdn (36)
- css @media (49)
- promise mdn (39)
- readasdataurl (52)
- if-modified-since (49)
- css ::after (50)
- border-image-slice (40)
- flex mdn (37)
- .join (41)
- function.apply (60)
- input type number (64)
- weakmap (62)
- js arguments (45)
- js delete方法 (61)
- blob type (44)
- math.max.apply (51)
- js (44)
- firefox 3 (47)
- cssbox-sizing (52)
- js删除 (49)
- js for continue (56)
- 最新留言
-