zoukankan      html  css  js  c++  java
  • vuejs的遇到的问题小结

     1.v-model

    针对表单控件元素创建双向数据绑定,在v-model指令后面还可以添加多个参数(number,lazy, debounce)。

    <div id="example">
        <form>
            姓名:
            <input type="text" v-model="data.name" placeholder="姓名"/>
            <br />
            性别:
            <input type="radio" id="one" value="One" v-model="data.sex"/>
            <label for="man">男</label>
            <input type="radio" id="two" value="Two" v-model="data.sex"/>
            <label for="male">女</label>
            <br />
            <input type="checkbox" id="jack" value="book" v-model="data.interest"/>
            <label for="jack">阅读</label>
            <input type="checkbox" id="john" value="swim" v-model="data.interest"/>
            <label for="john">游泳</label>
            <input type="checkbox" id="move" value="game" v-model="data.interest"/>
            <label for="move">游戏</label>
            <input type="checkbox" id="mike" value="song" v-model="data.interest"/>
            <label for="mike">唱歌</label>
            <br />
            身份:
            <select v-model="data.identity">
                <option value="teacher" selected>教师</option>
                <option value="doctor">医生</option>
                <option value="lawyer">律师</option>
            <select>          
        </form>
    </div>
    <script type="text/javascript">
        var vm = new Vue({
            el: '#example',
            data: {
                data:{
                    name:'',
                   sex:'',
                   interest:[],
                   identity:''
                }
            }
        })
    </script>

    处理组件v-model指令的源码在createComponent函数中的:

     if (isDef(data.model)) {
        transformModel(Ctor.options, data);
      }

    2. 给button设置disabled

    链接:https://www.cnblogs.com/wrestle-mania/p/6939571.html

    3.v-html

    v-html对应指令有v-text。

    <div id="example">
      <p v-html = "html"></p>
      {{html}}
    </div>
    <script type="text/javascript">
        new Vue({
           el:"#example",
           data:{
             html:"<p>效果一样</p>"
           }
        });
    </script>

    4.vuejs中过渡效果大量使用了动画。

    5.调试工具的安装:

    参考博客:http://www.cnblogs.com/lolDragon/p/6268345.html

    6. 父组件执行子组件的方法:  this.$refs.refname.childMethods(); ref 如果不在组件中使用,获取用来获取dom节点。

    7.http-proxy-middleware

      前端开发中涉及到的请求代理到API服务器上,方便与服务器对接。

    8.事件触发获取当前的dom

    https://www.cnblogs.com/tongrenlu/p/9512539.html

    9.在方法中,要调用生命周期函数可以使用:hook,类似:

    this.$once('hook:beforeDestroy',function(){
        console.log('xxx')
    })

    10.在部分IOS手机下echart画图会导致内存太大,以致页面奔溃,解决办法如下:

    https://www.jianshu.com/p/d6d7294b2bf5

    11. 子组件中的slot向父组件的模板中传值。使用scope或者scope-group。一般来说,slot是父组件传递给子组件。

    <parent :childData="currentData">
       <template scope="data">
          <div>{{data.attr1}}</div>
       </template>
    </parent>
    <child>
     <slot :attr1="childData"></slot>
    </child>

    作用域插槽的是父组件提供插槽模板,子组件中提供数据先展示。默认插槽和具名插槽子组件不需要提供数据。

    12. 动画的高级组件。动态组件,虚拟组件,还有异步组件。

    13.子组件中设置inheritAttrs属性会从父组件继承属性数据作为子组件的根节点的属性。

    14. ref循环赋值,并引用

    <div v-for="(item, index) in obj" :key="index">
       <div :ref=`shareArr_${index}`>
    </div>
    
    //使用
    var dom  = this.$refs[shareArr_index][0]

     15.filters中注册的函数都是纯函数,不能使用this,如果需要传递this中的值,使用: flag | dealFilter(kk), kk为this中的成员。

     

  • 相关阅读:
    文件的基本操作整理
    简谈深浅拷贝
    python进阶之内置方法
    python基础之打/解包及运算符与控制流程
    python中的常用数据类型
    python基础学习(起步)
    趣谈编程语言 (续集)
    豆瓣王守崑:大数据时代社交图谱与兴趣图谱的融合
    常见面试之机器学习算法思想简单梳理
    Future Research Directions in Social Recommendation
  • 原文地址:https://www.cnblogs.com/liuyinlei/p/7245428.html
Copyright © 2011-2022 走看看