zoukankan      html  css  js  c++  java
  • Vue使用指南(三)

    组件

    '''
    1.根组件:new Vue()创建的组件,一般不明确自身的模板,模板就采用挂载点
    2.局部组件: local_component = {}
    2.全局组件: Vue.component({})
    '''

    '''
    1.一个组件就是一个vue实例
    2.组件具有自身的template
    3.组件的模板只能有一个根标签
    4.子组件的data具有作用域,以达到组件的复用,每个组件的数据独有
    '''

    变量声明的关键字

    '''
    没有关键字:全局作用域
    var:没有块级,有局部作用域
    let:有块级,有局部作用域
    const:有块级,有局部作用域,是常量
    '''

     

    局部组件

    第三步
    <div id="app">
        <!--html代码不区分大小写,该名字使用子组件是不合法的命名-->
        <!--<localTag></localTag>-->
        <!--<local></local>-->
    <!--组件的复用-->
        <local-tag></local-tag>
        <local-tag></local-tag>
    </div>
    ​
    ​
    <script>
        第一步
        var localTag = {
            template: '<div class="local" style="color: orange" @click="btnAction">{{ name }}组件</div>',
            // 子组件的数据与方法由子组件自身提供
            data: function () {
                return {
                    name: '局部'
                }
            },
            methods: {
                btnAction: function () {
                    alert('你丫点我了')
                }
            }
        };
        
        第二步
        new Vue({
            el: "#app",
            components: {
                // local: localTag
                // 'local-tag':localTag
                // localTag: localTag,
                // 1.js的驼峰命名(localTag)对应的是html的连接命名(local-tag)
                // 2.key与value的变量名一致,可以简写
                localTag
            }
        });
    </script>

    全局组件

    <div id="app">
        <global-tag></global-tag>
        <global-tag></global-tag>
    </div>
    <script>
        Vue.component('global-tag', {
            template: '<div @click="btnClick">{{ name }}组件被点了{{ n }}下</div>',
            // 组件被复用一次,就会产生一个新的局部作用域,使用一套数据
            data: function(){
                return {
                    n: 0,
                    name: "全局"
                }
            },
            methods: {
                btnClick: function () {
                    this.n += 1
                }
            }
        });
        new Vue({
            el: "#app"
        })
    </script>

     

  • 相关阅读:
    angular6 input节流
    遇到跨域别害怕,我来帮你搞定它
    angular4,6 引入第三方插件的方法
    带有动画的字体
    angular 多端打包
    css 常用布局
    chrome 49 版本 跨越 --args --disable-web-security --user-data-dir
    JavaScript中的document.cookie的使用
    ios/iphone手机请求微信用户头像错位BUG及解决方法
    Safari 前端开发调试 iOS 完美解决方案
  • 原文地址:https://www.cnblogs.com/98WDJ/p/10870567.html
Copyright © 2011-2022 走看看