美文网首页
VUE组件使用中的细节

VUE组件使用中的细节

作者: 流年逝去sky | 来源:发表于2019-05-01 12:53 被阅读0次

table中使用组件的细节:直接使用<row></row>写法 发现<tr>没在<tbody>面


<row></row>
<div id="root">
            <table>
                <tbody>
                    <row>修改前的</row>
                    <row></row>
                    <row></row>
                </tbody>
            </table>
        </div>
        <script>
            Vue.component('row',{
                template:'<tr><td>this is a row</td></tr>'
            })
            var vm = new Vue({
                el:"#root"
            })
        </script>

改为<tr is="row"></row> 查看dom显示正常


image.png
<div id="root">
            <table>
                <tbody>
                    <tr is="row">修改后的</row>
                    <tr is="row"></row>
                    <tr is="row"></row>
                </tbody>
            </table>
        </div>

        <script>
            Vue.component('row',{
                template:'<tr><td>this is a row</td></tr>'
            })
            var vm = new Vue({
                el:"#root"
            })
        </script>


子组件中的data比如用return返回一个object 这样做是确保每个子组件通过函数返回object 每个组件有自己独立的数据空间

<script>
            Vue.component('row',{
                data:function(){
                    return{
                        content:'this is a content'
                    }
                },
                template:'<tr><td>{{content}}</td></tr>'
            })
            var vm = new Vue({
                el:"#root"
            })
        </script>


ref 可以用来标记dom元素 然后使用 this.$refs. 来表示标记的dom元素

    <body>
        <div id="root">
            <div ref='hi' @click="handleClick">hello world</div>
        </div>

        <script>
            var vm = new Vue({
                el: "#root",
                methods: {
                    handleClick: function() {
                        alert(this.$refs.hi.innerHTML)
                    }
                }
            })
        </script>
    </body>

父组件传递给子组件时 子组件参数校验
content:String 字符串 , Number数字
requird:true 必传
default:默认值 如果不传就用默认值
validator 校验组件的值

<div id="root">
            <child content="123456"></child>
        </div>

        <script>
            Vue.component('child', {
                props: {
                    content: {
                        type: [String, Number],
                        required: false,
                        default: 'default vaue',
                        validator: function(value) {
                            return(value.length > 5)
                        }
                    }
                },
                template: '<div>{{content}}</div>'
            })

            var vm = new Vue({
                el: '#root'
            })
        </script>

props属性:父组件使用子组件时 向子组件传递参数 如果子组件使用props接收了参数

非props特性:父组件使用子组件时 向子组件传递参数 子组件没有申明props来接收是无法使用这个参数的 另外非props特性 会显示在dom中 image.png

子组件中绑定原生click事件:@click.native="handleClick"

<body>
        <div id="root">
             <child @click.native="handleClick"></child>
        </div>

        <script>
            Vue.component('child',{
                template:'<div>Child</div>'
            
            })
            
            var vm = new Vue({
                el: '#root',
                methods:{
                    handleClick:function(){
                        alert('handleClick')
                    }
                }
            })
        </script>
    </body>

Vue中的插槽的使用

<body>
        <div id="root">
            <bcontent>
                <div class="hd" slot='hd'>header</div>
                <div class="ft" slot='ft'>footer</div>  
            </bcontent>
        </div>

        <script type="text/javascript">
            Vue.component('bcontent', {
                template: '<div><slot name="hd"><h1>default header</h1></slot ><div class="content">content</div><slot name="ft"></slot></div>'
            })

            var vm = new Vue({
                el: '#root'
            })
        </script>
    </body>

相关文章

  • Vue2.0-Vue3.0语法差异性总结

    Vue2.0 Vue2.0实例 Vue2.0 组件 使用组件的细节 在 ttable > tbody > tr 使...

  • VUE组件使用中的细节

    table中使用组件的细节:直接使用写法 发现 没在 面 改为

  • Vue/组件

    Vue/组件 创建组件 单独声明一个Vue.component,使用只需要在Vue实例下使用定义的组件名在组件中d...

  • vue和小程序父子组件通信比较

    1. 子组件的使用 Vue中 编写子组件 在需要使用的父组件中通过import引入 在vue的components...

  • vue文档集合

    Vue2使用笔记3--父子组件的通信Vue 2.0开发实践(组件间通讯)Event Bus 在Vue中的使用vue...

  • 本期小结(一)

    vue★ Vue中引入jQuery vue使用element-ui vue的v-cloak使用 vue动态组件 v...

  • Vue UI组件库 项目说明

    这是我个人的开发的1套Vue UI组件库,我会在开发过程中,记录每个组件的细节和使用方式。 这是项目的github地址:

  • vue组件的使用模式

    最近使用vue的过程中,发现关于vue组件使用的问题,现根据我自己的理解,总结一下vue组件的使用模式:(1)多例...

  • Vue3.0破坏性变化----异步组件

    vue3.0中异步组件要求使用defineAsyncComponent方法创建 由于vue3中函数式组件必须定义为...

  • vue周期函数

    1.vue中的组件 -vue中所有页面由组件组成-vue可以将公共的部分封装成组件在其他地方使用-App.vue是...

网友评论

      本文标题:VUE组件使用中的细节

      本文链接:https://www.haomeiwen.com/subject/jvginqtx.html