zoukankan      html  css  js  c++  java
  • Vue.js中基础知识学习点

    给样式背景赋值:

    :style="{backgroundImage:'url(' + otherInfo.head_image + ')'}"

      

    <img :src="'__ROOT__/upload/'+mesay.message"
    v-if="message.type == 'text'" 

     2.监听器--watch的使用:

      

    watch : {
       firstName: function(val){ //firstName是data里的v-model绑定的值
            this.fullName = val;
        }  
    }
    

    3. v-cloak的使用:

    在style里 : [v-cloak]{diaplay:none;}

    再在html标签 里增加v-cloak属性

    4.注意它们区别:v-text,v-html,v-pre ,v-model.laze  

    5.过滤器的使用

    <body>
     <div id="app">
     	<div class="test">{{msg|upper|lower}}</div>
     </div>
    </body>
    <script type="">
    	//全局过滤器,过滤器名。方法。对属性同样可用,只是没了大括号
    	Vue.filter('upper',function(value,arg1){ //第二个参数开始可以传自己的参数
    		return value.charAt(0).toLowerCase()+value.slice(1);
    	});
    
    	//局部过滤器
    	var app = new Vue({
    		el:'#app',
    		data:{
    			msg:''
    		},
    		filters: {	//局部过滤器.html里直接调用名称,可多个,后者在前者基础上接着过滤
    			upper: function(v){
    				return v.charAt(0).toLowerCase()+v.slice(1);
    			}
    		}
    	})
    </script>
    </html>
    

      

      6.生命周期的三个阶段:挂载,更新,销毁。 销毁如何执行:调用this.$destory();其它方法都会被销毁。

    7.修改响应式数据:直接vue修改与实例修改

      Vue.set(vm.list,1,'test'); //将data里的list里的1号位元素修改为test值。

      vm.$set(vm.list,1,'test');//实例方式修改

    8.组件的命名,注册,使用,插棤,调试。

      组件注意:1.命名注意驼峰式的在模板字符串中可以使用,但在根组件里要转成-的形式使用。

           2. DATA返回必须返回函数.

           3. 组件外层用div包起来。

           4. 模板内容可以是模板字符串。

      组件分全局组件与局部组件:

        全局: Vue.component(组件名,{data:function(){},template:'字符串'});

        局部:data同级增加components:{'template-name':{data:function(){},template:字符串}} //第二个参数可以先声明变量,局部组件只能在父组件里使用。  

      组件通讯与传值:

        父传子:props.

            父组件里:<menu-list :title="title"></menu-list> //:title会传给子组件,写死的值就可以不要:

            子组件里:Vue.component('menu-list',{props:['title'],data:function(){},template:'.....' });//子组件可以直接调用 title;

        注意:字符串模板中,驼峰传值驼峰接收可以。但标签里只能横线传,可以驼峰接收。

        props属性:String,Number,Boolean,Array,Object.

        子传父:$emit;

            子组件里: <button @click='$emit("parent-attr")'>add</button>   //parent-attr要写到父组件的属性里。

            父组件里: <my-cmp @parent-attr='handle'></my-cmp>   //父组件的methods里写一个handle的方法可监测执行到。 

        同级相传: 自定义事件或叫事件总线. (建立事件通讯--监听与销毁--触发事件)

           

    //1.在组件的mounted里监听.
    var hub = new Vue();  //建立事件总线,实例化.
    
    //以下为组件A
    data:function()
    {    return {
               num:0,
            }
     },
    methods:{
        handel:function(){
             hub.$emit('jerry',1); //jerry为对方(兄弟)组件事件名,1为传过去的值.
        }
    },
    mounted:{ //这里监听 
          hub.$on('tom-event',(val)=>{  //val为接收传过来的值,tom-event对自身事件的命名
                 this.num+= 1;  
        });
    } ,
    template:`<div>jerry{{num}},<button @click='handel'>点击</button></div>`   
    

      

        插槽:基本插槽,自命名插槽,作用域插槽.

            基本插槽:1.子组件模板中写个<slot>这里自定义内容,可写可不写</slot>,父组件里的此组件名里加入slot:<my-comp><slot>这是父组件传来的内容</slot></my-comp>;

            命名插槽:1.子组件模板中写个<slot name="header">这里自定义内容,可写可不写</slot>,父组件里的此组件名里加入slot:<my-comp><slot name="header">这是父组件传来的内容</slot></my-comp>;

            作用域插槽:场景如:父组件传个list到子组件,要求子组件里某个list高亮显示.

             

    //父组件里增加属性
            <my-comp :psend="lists">
    
                <template slot-scope="slotPr">//需要自定义一个slot-slit-scope名字
                    <strong v-if="slotPr.info.id==pdex" class="current">{{slotPr.info.name}}</strong>
                    <span v-else>{{ slotPr.info.name}}</span>
                </template>
            </my-comp>
    
    //子组件内容如下
                <ul>
                    <li v-for="item in psend" :key="item.id">
                        <slot :info="item">{{ item.name}}</slot>//定义一个info传上去
                    </li>
                </ul>
    

      

     

  • 相关阅读:
    LeetCode OJ 107. Binary Tree Level Order Traversal II
    LeetCode OJ 116. Populating Next Right Pointers in Each Node
    LeetCode OJ 108. Convert Sorted Array to Binary Search Tree
    LeetCode OJ 105. Construct Binary Tree from Preorder and Inorder Traversal
    LeetCode OJ 98. Validate Binary Search Tree
    老程序员解Bug的通用套路
    转载 四年努力,梦归阿里,和大家聊聊成长感悟
    转载面试感悟----一名3年工作经验的程序员应该具备的技能
    Web Service和Servlet的区别
    关于spring xml文件中的xmlns,xsi:schemaLocation
  • 原文地址:https://www.cnblogs.com/bing2017/p/10741854.html
Copyright © 2011-2022 走看看