不推荐使用本文的方法,建议使用 props 和 emit
方法来自:stackoverflow.com/questions/55316490,在用这个方法前可以先试试 this.$refs[‘子组件’].doSth(),比下文的方法简单。
子组件
export default {
methods: {
doSth() {
console.log('子组件的 doSth 方法');
},
},
mounted() {
let self = this;
self.$emit('callback', {
doSth: () =&...
分类为 前端 的文章:
# app/Providers/AppServiceProvider.php
public function boot()
{
DB::listen(function ($query) {
$location = collect(debug_backtrace())->filter(function ($trace) {
return !str_contains($trace['file'], 'vendor/');
})->first(); // grab the first element of non vendor/ calls
$bindings = implode(", ", $query->bindings); // format t...
生成版本号配置的文件
hooks.js
const packageInfo = require('./package.json');
const fs = require('fs');
const gitHEAD = fs.readFileSync('.git/HEAD', 'utf-8').trim();
const ref = gitHEAD.split(': ')[1];
let version = packageInfo.version;
let commitId = ref ? fs.readFileSync('.git/' + ref, 'utf-8').trim() : gitHEAD;
let ...
function dodash(callsign = '') {
var sign = callsign.match(/[a-z0-9]+/)[0].toUpperCase();
var hash = 0x73e2;
var i = 0;
while (i < sign.length) {
var f = sign[i].charCodeAt();
hash ^= f<<8;
if (sign[i + 1]) {
var s = sign[i+1].charCodeAt();
hash ^= s;
}
i += 2;
}
return Math.abs(hash);
}
var code = dodash('BZ0ZZZ');
co...
const packageInfo = require('./package.json');
const fs = require('fs');
const gitHEAD = fs.readFileSync('.git/HEAD', 'utf-8').trim();
const ref = gitHEAD.split(': ')[1];
let version = packageInfo.version;
let commitId = '';
if (ref) {
commitId = fs.readFileSync('.git/' + ref, 'utf-8').trim();
} else ...
当服务器宕机时,同一个页面的所有接口都会报错,导致页面出现一堆消息,本文方法可以让相同内容的消息只显示最后一个。
不支持 .error() 式的用法。
操作步骤
编辑 main.js,添加以下代码:
import { Message } from 'element-ui';
var MessageStack = [];
Vue.prototype.msg = function(config = {}) {
MessageStack.forEach(function(item = {}) {
if (item.message == config.message && ite...
仅支持无感知验证,
vue-recaptcha-v3
yarn add vue-recaptcha-v3
src/main.js
import { VueReCaptcha } from 'vue-recaptcha-v3';
Vue.use(VueReCaptcha, {
siteKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
loaderOptions: {
// 是否使用国内的 recaptcha.net 域名
useRecaptchaNet: true,
// 是否隐藏“由reCAPTCHA 提供保护 隐私 - 使用条件”
autoHideBadge: process.env.N...
yarn config set -g registry https://registry.npm.taobao.org
yarn config set -g disturl https://npm.taobao.org/dist
yarn config set -g electron_mirror https://npm.taobao.org/mirrors/electron/
yarn config set -g sass_binary_site https://npm.taobao.org/mirrors/node-sass/
yarn config set -g phantomjs_cdnurl https://npm.taobao.org/mirrors/phantomjs/
yarn config set -g chromedriver_cdnurl http...
lua 数组去重
-- bArray = true 会把 t 当数组(连续的数字 key)
-- 默认是当作“对象(key可以不是数字)”
-- 或理解为是否保留原来的 key
function table.unique(t, bArray)
local check = {}
local n = {}
local idx = 1
for k, v in pairs(t) do
if not check[v] then
if bArray then
n[idx] = v
idx = idx + 1
else
...
示例含下拉刷新,上拉加载
{
"navigationBarTitleText": "列表",
"enablePullDownRefresh": true,
"usingComponents": {
"list": "miniprogram-recycle-view/recycle-view",
"item": "miniprogram-recycle-view/recycle-item"
}
}
<list batch="{{batchSetRecycleData}}" id="recycleId"...
20200804更新:
GitHub
说明
用快捷键打开指定 APP,如果已经打开就在这个 APP 打开的窗口中循环切换。
快捷键为“CapsLock + 字母”,详见下表。单按 CapsLock 还是本身的锁定大小写功能。
CapsLock + e 打开 Finder.app
CapsLock + t 打开 Terminal.app
CapsLock + a 打开 Affinity Photo.app
CapsLock + b 打开 Bear.app
CapsLock + d 打开 DBeaver.app
CapsLock + f 打开 Fork.app
CapsLock + g 打开 Google Chrome...
配置内容
单引号、末尾分号、关闭了“Rplace ..⏎ with”(有谁知道如何开启并统一格式化工具吗)。
VSCode 配置
"editor.rulers": [80, 120], // 缩进栏线
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.formatOnPaste": true,
"editor.formatOnSave": false,
"editor.renderWhitespace": "all", // 显示空格
"emmet.triggerE...