月份:2020年2月

vue watch 同时监听对象多个属性,调用同一个方法

比如说有个对象:

let form = {
    name: "xx",
    sex: "yy",
    type: "aa"
}

要求是修改name或者aa的时候,都调用 AABBCC 方法,但type修改的时候不能调用。
如果直接watch,那么肯定不能直接deep监听form对象了,因为type修改时不能调用。所以只能这样:

watch:{
    'form.name'(){
        this.AABBCC()
    },
    'form.sex'(){
        this.AABBCC()
    }
}

对象多的话,会感觉很难受,所以我们可以借用computed换换脑子:

computed:{
    formWatch: function(){
        let _arr = []
        _arr.push(this.form.name)
        _arr.push(this.form.sex)
        return _arr.join(",")
    }
},
watch:{
    formWatch(){
        this.AABBCC()
    }
}

这显然感觉舒服多了,哈哈

ERROR! The server quit without updating PID file (/usr/local/mysql/data/MacBook-Pro.local.pid). 重启MAC后碰到这个报错怎么办?

今天更新了系统,然后我重启电脑,在启动发现mysql起不来了。。。

报这么一个错:

ERROR! The server quit without updating PID file (/usr/local/mysql/data/Mac.local.pid).

网上找了很久解决方法,修改什么my.conf啥的,发现根本不适用,那个应该是用在服务器上的。
最后找到解决办法,超级简单,就是权限问题引起的,估计是更新了系统,把读写权限给刷了:

sudo chown -R _mysql:_mysql /usr/local/mysql/

修改权限后,启动成功

sudo /usr/local/MySQL/support-files/mysql.server start

Updating Homebrew… 一直卡住怎么处理?

brew install安装一个东西,然后突然 Updating Homebrew... 卡住了,之前一直公司网好像不卡,现在疫情在自己家,它居然能卡着完全不动。。。

那我就把它换个源吧~ ,换成 aliyun 的源。

替换 / 还原 brew.git 仓库地址

替换成阿里巴巴的 brew.git 仓库地址:
cd "$(brew --repo)"
git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git

=======================================================
还原为官方提供的 brew.git 仓库地址
cd "$(brew --repo)"
git remote set-url origin https://github.com/Homebrew/brew.git

替换 / 还原 homebrew-core.git 仓库地址

替换成阿里巴巴的 homebrew-core.git 仓库地址:
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git

=======================================================
还原为官方提供的 homebrew-core.git 仓库地址
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
git remote set-url origin https://github.com/Homebrew/homebrew-core.git

替换 / 还原 homebrew-bottles 访问地址

这个步骤跟你的 macOS 系统使用的 shell 版本有关系

所以,先来查看当前使用的 shell 版本

echo $SHELL

  • 如果你的输出结果是 /bin/zsh,参考?的 zsh 终端操作方式
  • 如果你的输出结果是 /bin/bash,参考?的 bash 终端操作方式

zsh 终端操作方式

替换成阿里巴巴的 homebrew-bottles 访问地址:
echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

=======================================================

还原为官方提供的 homebrew-bottles 访问地址

vi ~/.zshrc

然后,删除 HOMEBREW_BOTTLE_DOMAIN 这一行配置

source ~/.zshrc

bash 终端操作方式

替换 homebrew-bottles 访问 URL:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

=======================================================

还原为官方提供的 homebrew-bottles 访问地址

vi ~/.bash_profile

然后,删除 HOMEBREW_BOTTLE_DOMAIN 这一行配置

source ~/.bash_profile

转载:JS二维数组排列组合,列出所有结果

最近做一个项目,碰到一个根据数组,列出所有相关排列组合的内容的需求。
百度搜出如下解决方案,非常精简强悍,比自己罗里吧嗦写了一堆的好太多了,记录分享。

let array1 = [
    ['红', '绿', '蓝'],
    ['A', 'B', 'C'],
    ['S', 'M', 'L'],
]

let array2 = [
    ['红', '蓝'],
    ['A', 'B', 'C'],
    ['S'],
]

let array3 = [
    ['红', '绿', '蓝'],
]

function calc(transArr) {
    let resultArr = [];
    function get(array, index, val) {
        if(!array[index]) {
            resultArr.push(val);
            return;
        };

        array[index].forEach((v, i) => {
            get(array, index + 1, index === 0 ? [v] : [...val, v])
        })
    }
    get(transArr, 0);
    return resultArr;
}

console.log(calc(array1));
console.log(calc(array2));
console.log(calc(array3));

原文链接:https://blog.csdn.net/qq1073830130/article/details/101017851