zoukankan      html  css  js  c++  java
  • vue中局部组件的使用

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div id="app">
        {{msg}}
    </div>
    <script src="vue.js"></script>
    <script>
        //如果仅仅是实例化vue对象, 既有el又有template,如果template中定义模板内容
        //那么template模板的优先级大于el
    
        // 首先是有一个 APP根组件, 下面有三个子组件:header, aside, content
    
        //第一步:  声子 Vue中组件的首字母要大写, 跟标签区分
        //组件中的data必须是个函数,一定要有返回值
        let App = { //跟的是一个对象  这个对象里 就是除了下面的Vue中,el以外的所有属性
            data() {
                return {text: "我是子组件"}
            },
    
            //第四步:  给子组件里写内容.  当前模板里的标签,只用当前数据属性跟下面的根组件Vue没有关系
            //在<h2>{{text}}</h2>中的{{text}}部分可以放头部组件,内容组件和侧边栏组件 ************
            template: `
            <div id="a">
                <h2>{{text}}</h2>
            </div>
            `,
            //给子组件定义方法  比如说a标签的超链接
            methods:{
    
            },
        }
    
        new Vue({
            el: "#app",  //绑定的是上面的id="app"
            data() {
                return {msg: "alex"}
            },
    
            //与生命周期有关
            //用模板字符串
            //定义模板
            // 第三步:用子  把<App />写下面就是 用子 但是里面的内容需要写到上面子组件里App里
            // template可以不用写 但是要挂载到 el上去
            template: `
            <div class="app">
    
                <App><App/>
            </div>
            `,
    
            components: {
                // 第二步:   挂子 父组件Vue里不仅是可以挂载一个App,还可以挂载其他组件
                App   //如果key和value一样,可以只写App 替代App:App
    
            }
        })
    </script>
    </body>
    </html>

    局部组件的使用更改 以及全局组件的使用

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <div id="app">
        <App></App>
    </div>
    <script src="vue.js"></script>
    <script>
        //如果仅仅是实例化vue对象, 既有el又有template,如果template中定义模板内容
        //那么template模板的优先级大于el
    
        // 全局组件 ***  第一个参数是组件的名字,第二个参数是options
        // 全局组件声明之后,可以再任意的组件里使用, 放到别的组件之后,就成了别的组件的子组件了
        // 使用内置组件slot进行分发  让让别的组件中的Vbtn按钮显示不同的名称  ******
        Vue.component("Vbtn",{
            data(){ return {}},
            template:`<button><slot>按钮</slot></button> `,
        })
    
    
        // 首先是有一个 APP根组件, 下面有三个子组件:header, aside, content
    
        //子组件2
        //第一步:生子2  挂子往App里挂, 不需要挂Vue里
        let Vheader = {//对象
            data(){
                return {}
            },
            //template 是一个组件模板,一定要用一个根(父)元素包裹起来,所以一定要有一个div闭合****
            template:`
            <div>
            <h2>生子是在子组件中</h2>
            <h2 style="color:red">挂子和用子是在父组件中</h2>
            <Vbtn></Vbtn>
            </div>
            `,
    
        }
    
    
        //第一步:  声子   Vue中组件的首字母要大写, 跟标签区分
        //组件中的data必须是个函数,一定要有返回值
        let App = { //跟的是一个对象  这个对象里 就是除了下面的Vue中,el以外的所有属性
            data() {
                return {text: "我是子组件"}
            },
    
            //第四步:  给子组件里写内容.  当前模板里的标签,只用当前数据属性跟下面的根组件Vue没有关系
            //在<h2>{{text}}</h2>中的{{text}}部分可以放头部组件,内容组件和侧边栏组件 ************
            // 第三步:用子2   <Vheader></Vheader>,  下一步去对应模板Vheader的template里写内容
            template: `
            <div id="a">
                <h2>{{text}}</h2>
                <Vheader></Vheader>
                <Vbtn>登录</Vbtn>
                <Vbtn>注册</Vbtn>
                <Vbtn>提交</Vbtn>
            </div>
            `,
            //给子组件定义方法  比如说a标签的超链接
            methods:{
            },
            components:{
                // 第二步:挂子2
                Vheader
            },
        }
    
        new Vue({
            el: "#app",  //绑定根元素  是上面的id="app"
            data() {
                return {msg: "alex"}
            },
    
            //根组件中  可以把template删除 直接在id = "app"的div中使用
            // 子组件中的template 不能删除,因为子组件中的结构最终会渲染到id="app"的div里面<App></App>
    
            components: {
                // 第二步:   挂子 父组件Vue里不仅是可以挂载一个App,还可以挂载其他组件
                App   //如果key和value一样,可以只写App 替代App:App
    
            }
        })
    </script>
    </body>
    </html>
  • 相关阅读:
    docker 安装使用jenkins
    docker 安装禅道
    在linux定时执行docker容器的命令不成功
    docker 安装nginx+php
    php发起http请求
    安装docker
    REST(Respresentaional State Transfer 表现层状态转化)
    git 分支操作
    git常用命令
    php多进程编程
  • 原文地址:https://www.cnblogs.com/kenD/p/10050092.html
Copyright © 2011-2022 走看看