分类: 默认分类

  • 今天开始学习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)
        }
      }
    })
  • nodemon自动重启服务器

     // package.json 
     "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1",
        "dev": "nodemon --watch app.js --exec node \"app\""
      },

  • react中dangerouslySetInnerHTML渲染HTML文本

    小心地渲染HTML

    <div dangerouslySetInnerHTML = {{ __html: checkMessages.details }} />
    <div dangerouslySetInnerHTML={{ __html: '<div>123</div>' }} />
  • react路由react-router-dom

    一、安装react路由

    npm install react-router-dom 

    二、如何使用

    import { BrowserRouter, Route } from 'react-router-dom'
    <BrowserRouter>
      <div>
        <Route path="/" exact render={()=>(<div>home</div>)} />
        <Route path="/detail" exact  render={()=><div>detail</div>} />
      </div>
    </BrowserRouter>

    exact 表示精确匹配,render后面跟一个箭头函数,返回要显示的内容

    三、改进成组件形式

    1、在src目录下创建pages文件夹,在里面创建home和detail文件夹,分别存放对应的组件,例如home下创建组件,新建index.js

    import React, { Component } from 'react';
    class Home extends Component{
      render(){
        return <div>home~</div>;
      }
    }
    export default Home;

    2、引用pages下的组件

    import Home from './pages/home';
    import Detail from './pages/detail';
    
    ...
    
    <BrowserRouter>
      <div>
        <Route path="/" exact component={ Home } />
        <Route path="/detail" exact  component={ Detail }  />
      </div>
    </BrowserRouter>
    
    ...
  • react

    一,配置react环境

    $npm install -g create-react-app
    $create-react-app 你的项目名
  • php随机32位的字符串

    <?php 
    
    function random($num){
    	$str = 'abcdefghijklmnopqrstuvwxyz0123456789';
    	$code = '';
    
    	for ($i=0; $i < $num ; $i++) {
    		// 随机位置
    		$j = rand(0,strlen($str)-1);
    		// 拼接字符串
    		$code .= substr($str, $j, 1);
    	}
    
    	return $code;
    }
    
    
    echo random(32);

  • koa2服务器部署

    一,在服务器上安装 pm2

    npm install -g pm2

    二,添加nginx.conf

    在服务器目录创建/ect/nginx/conf.d/xxxx.conf

    server {
            listen 80;
            server_name koa.dongshushu.com(换成自己的域名);
            location / {
                    proxy_pass http://localhost:3000(换端口);
                    proxy_http_version 1.1;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection 'upgrade';
                    proxy_set_header Host $host;
                    proxy_cache_bypass $http_upgrade;
            }
    }

    重启nginx

    nginx -s reload

    三,开启pm2

    pm2 start app

    常用的pm2命令

    $ pm2 list
    
    $ pm2 stop     <app_name|id|'all'|json_conf>
    $ pm2 restart  <app_name|id|'all'|json_conf>
    $ pm2 delete   <app_name|id|'all'|json_conf>

    pm2升级

    pm2 update
  • requirejs

    • 官方:https://requirejs.org/
    • github:https://github.com/requirejs/requirejs

  • 加载到底部的一个提示样式

    <view class="end">
      <view class="end-inner">
        <span>我们是有底线的</span>
      </view>
    </view>
    .end{position: relative; width: 750rpx; height: 100rpx;}
    .end::before{position: absolute; left: 0; top: 50%; content: ""; width: 750rpx; height: 0rpx; border-bottom: 1px solid #eee;}
    .end .end-inner{position: absolute; z-index: 9; display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;}
    .end .end-inner span{font-size: 30rpx; color: #bbb; background: #fff; padding: 0 20rpx;}
  • 小程序page页面json设置,下拉刷新等…

    page.json//page.json相当于app.json中的window
    {
      "navigationBarBackgroundColor": "#ffffff",//导航栏背景颜色
      "navigationBarTextStyle": "black",//导航栏标题颜色,仅支持 black/white
      "navigationBarTitleText": "微信接口功能演示",//导航栏标题文字内容
      "backgroundColor": "#eeeeee",//窗口的背景色
      "backgroundTextStyle": "light"//下拉背景字体、loading 图的样式,仅支持 dark/light
      "enablePullDownRefresh": true//是否开启下拉刷新
      "disableScroll": false//设置为 true 则页面整体不能上下滚动;只在 page.json 中有效,无法在 app.json 中设置该项
    }