分类: javascript

  • vue服务器渲染NUXTJS

    一,创建项目

    yarn create nuxt-app my-nuxt-project

  • centos7 安装最新版nodejs

    在centos中如果安装默认版本的nodejs,版本太低,会有很多坑

    yum install nodejs

    正确的安装姿势如下:

    先增加最新版的yum源,setup_后面的数字改成最新版的

    $curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -

    然后yum 安装

    $yum -y install nodejs

    查看node版本

    node -v
    v14.15.4

    查看npm的版本

    npm -v
    6.14.10
  • 这两个别记混了assign对象合并,concat数组合并,assign去重,concat不去重

    const target = { a: 1, b: 2 };
    const source = { b: 4, c: 5 };
    
    const returnedTarget = Object.assign(target, source);
    
    console.log(target);
    // !!!expected output: Object { a: 1, b: 4, c: 5 }
    
    console.log(returnedTarget);
    // expected output: Object { a: 1, b: 4, c: 5 }
    
    let aaa = [1,2]
    let bbb = [2,4]
    
    const ccc=aaa.concat(bbb)
    
    console.log(aaa)
    //[1,2]
    
    console.log(ccc)
    //[1,2,2,4]
  • git复习一下

    ①工作区 -> ②缓存区->③HEAD区

     

    1,git checkout — <filename>

    只丢弃工作区,用HEAD区覆盖掉工作区,如果有提交到缓存区的修改,缓存区的内容不变

     

    2,git reset  HEAD

    缓存区的提交,退到工作区,不管工作区有没有内容,所有内容不丢弃

    3,git reset –hard HEAD

    工作区、缓存区的所有修改都丢弃

    4,git diff

    工作区的修改高亮,不管缓存区是否有内容

    5,git diff HEAD

    工作区和缓存区高亮,工作区和缓存区VS HEAD区

    6, git show  [<commit>]

    某一个版本的修改展示

  • jquery插件validate选择select框的校验

    html

    <code class="language-markup"><select name="" id="url"><option value="0">选择url</option>
    <option value="https://www.dongshushu.com">https://www.dongshushu.com</option>
    </select>

    自定义一个validate的校验

    jQuery.validator.addMethod("selectMyPost", function(value, element, params) {
     if(value == '0'){
      return false
     }else{
      return true
     }
    }, jQuery.validator.format("请选择正确的作业贴"));
  • query插件validate的一个坑

    修改成功后的样式,如果自定义的话
    success:function(e){
    e.html(‘ok’)
    e.addClass(‘valid’)
    },
    必须用”valid”这个样式类
    如果换成”ok”样式类,则会重新验证时,不能去掉

  • JavaScript在ES5中设置常量

    //es5
    Object.defineProperty(window, "PI2", {writable: false, value: 3.1415926});
    
    
    //es6
    const PI=3.1415926
  • git clone 克隆仓库子目录方法

    ## step 1 :初始化空库
    [root@vm_test backup]# mkdir devops
    [root@vm_test backup]# cd devops/
    [root@vm_test devops]# git init                  #初始化空库
    
    ## step 2 :  拉取remote的all objects信息
    [root@vm_test devops]# git remote add -f origin http://laijingli@192.168.1.1:90/scm/beeper/yunxxx_ops.git   #拉取remote的all objects信息
    
    
    ## step 3 :  #3.1 开启sparse clone, #3.2 设置需要pull的目录 devlops
    [root@vm_test devops]# git config core.sparsecheckout true   #开启sparse clone
    [root@vm_test devops]# echo "devops" >> .git/info/sparse-checkout   #设置需要pull的目录,*表示所有,!表示匹配相反的
    [root@vm_test devops]# more .git/info/sparse-checkout
    
    ## step 4 :  # 将origin 端,由第三步(文件 .git/info/sparse-checkout)设置的 目录下的文件 pull 到本地
    [root@vm_test devops]# git pull origin master  
    
    ## OK 啦!
  • 今天开始学习vuejs

    今天开始学习vuejs

    知识点1,vue修改数据

    app.$data.content = 'bye world';

    知识点2,绑定事件 v-on:click

    #3,双向绑定v-model=”inputValue”

    #4 , 组件的写法

    Vue.component("TodoItem",{
      template:"<li>Todo Item</li>"
    })

    #5,组件引用

    <todo-item v-for="item in list"><todo-item>

    #6, 组件数据引用,定义全局组件

    <todo-item v-bind:content="item" v-for="item in list"><todo-item>
    Vue.component("TodoItem",{
      props:['content'],
      template:"<li>{{content}}</li>"
    })

    #7,局部组件定义和注册

    var TodoItem = {
      props:['content'],
      template:"<li>{{content}}</li>"
    }
    var app = new Vue({
      el:'#root',
      components:{
       //组件的注册
       TodoItem:TodoItem
      },
      data:{
        inputValue:'',
        list:[]
      },
      methods:{
      }
    })

    #,子组件向父组件传值

    <div id="root">
      <input type="text" v-model="inputValue">
      <button @click="add"></button>
      <ul>
        <todo-item v-bind:content="item" v-bind:index="index" v-for="(item, index) in list" @delete="handleDelete"></todo-item>
      </ul>
    </div>
    var TodoItem = {
      props:['content', 'index'],
      template:"<li @click="handleDelete">{{content}}</li>",
      methods:{
        handleDelete:function(){
          this.$emit("delete", this.index)
        }
      }
    }
    var app = new Vue({
      el:'#root',
      components:{
       TodoItem:TodoItem
      },
      data:{
        inputValue:'',
        list:[]
      },
      methods:{
        add: function(){
          this.list.push(this.inputValue)
        }
        handleDelete: function(index){
          this.list.splice(index, 1)
        }
      }
    })
  • react中dangerouslySetInnerHTML渲染HTML文本

    小心地渲染HTML

    <div dangerouslySetInnerHTML = {{ __html: checkMessages.details }} />
    <div dangerouslySetInnerHTML={{ __html: '<div>123</div>' }} />