• vuejs笔记


    使用脚手架vue-cli初始化工程

    • 使用npm淘宝源
    • npm i -g @vue/cli
    • vue create vue-learn
    • npm run serve

    vue

    • 模板语法

      • 模块化
        • 方法
        • 自定义指令
        • 组件
      • 缩写
        • v-bind:href => :href
        • v-on:click => @click
    • 计算属性

      • 应用场景:具有依赖关系的数据监听

        computed: function() {
            return this.data1 - this.data2;
        }
        
    • 类与样式

      • v-bind:class="[a1, a2]"

      • v-bind:class="obj"
        data() {
            return {
                obj: {
                    'class-1': true,
                    'class-2': false
                }
            }
        }
        
    • 条件和列表渲染

      • if else

      • for

        可以使用template进行for

    • 组件

      • props

        • 组件的参数传递

          props: ['age'],
          
      • 双向数据绑定

        • 方式1:父组件监听事件
          子组件
        <template>
        <div>
            <input type="number" placeholder="手机号" @input="handleinputchange">
            <input type="text" placeholder="邮编">
        </div>
        </template>
        
        <script>
        export default {
            methods: {
                handleinputchange(e) {
                    this.$emit("change", e.target.value)
                }
            }
        }
        </script>
        

        父组件

        <my-model @change="handleinput"/>
        
        • 方式2:使用v-model
          子组件
        <template>
        <div>
            <input type="text" placeholder="姓名" v-bind:value="myname" @input="handleinput">
            <input type="number" placeholder="年龄">
        </div>
        </template>
        
        <script>
        export default {
            model: {
                prop: "myname",
                event: "change"
            },
            props: {
                myname:String
            },
            methods: {
                handleinput(e) {
                    this.$emit("change", e.target.value)
                }
            },
        }
        </script>
        

        父组件

        <my-model1 v-model="model1value"/>
        
      • slot

        • 插槽

          <slot name="header"></slot>
          <slot name="footer"></slot>
          
      • 自定义事件

        • 父子组件的通信方式

        • $emit向父组件发送一个事件,父组件监听该事件

              <button @click="$emit('test', result)">click</button>
          
    • 路由(Vue Router)

      • 安装vue router包

        npm i vue-router

      • 编写router.js

        import Vue from 'vue';
        import VueRouter from 'vue-router';
        
        import pageA from './src/pages/a.vue';
        import pageB from './src/pages/b.vue';
        
        Vue.use(VueRouter);
        
        const routers = [
            {
                path: '/pageA',
                component: pageA
            },
            {
                path: '/pageB',
                component: pageB
            }
        ];
        
        const router = new VueRouter({
            routes: routers
        });
        
        export default router;
        
      • 修改main.js

        import Vue from 'vue'
        import router from './router'
        
        Vue.config.productionTip = false
        
        new Vue({
          router
        }).$mount('#app')
        
      • 增加vue.config.js配置文件

        module.exports = {
            runtimeCompiler: true
        }
        
      • 在public/index.html中增加

        <div id="app">
            <router-view></router-view>
            <router-link to="/pageA">go to pagea</router-link>
            <router-link to="/pageB">go to pageb</router-link>
        </div>
        

    koa2

    npm i -g koa-generator

    koa2 koa2-learn

    npm install

  • 相关阅读:
    使用boost的type_index打印数据类型
    display:flex;下的子元素width无效问题
    three.js 材质翻转
    qt5 打包exe执行文件
    脚本免交互生成秘钥
    脚本连接主机创建用户expect
    expect用法
    免密登录脚本expect
    shell变量的定义规则
    shell变量如何定义?
  • 原文地址:https://www.cnblogs.com/xxxuwentao/p/10563676.html
Copyright © 2020-2023  润新知