zoukankan      html  css  js  c++  java
  • vue的全局api(二)

    • 接上上篇的文章继续整理

    写在template标签里的模板

    <template id="demo2">
                 <h2 style="color:red">我是template标签模板</h2>
        </template>
        <script type="text/javascript">
            var app=new Vue({
                el:'#app',
                data:{
                    message:'hello Vue!'
                },
                template:'#demo2'
            })
        </script>
    

    写在script标签里的模板

    <script type="x-template" id="demo3">
            <h2 style="color:red">我是script标签模板</h2>
        </script>
        <script type="text/javascript">
            var app=new Vue({
                el:'#app',
                data:{
                    message:'hello Vue!'
                },
                template:'#demo3'
            })
        </script>
    

    组件

    • 分为局部组件与全局组件

    全局组件

    • 全局化就是在构造器的外部用Vue.component来注册,我们注册现在就注册一个<wzj></wzj>的组件来体验一下。
    <div id="app">
            <wzj></wzj>
        </div>
        <script type="text/javascript">
            //注册全局组件
            Vue.component('wzj',{
                template:`<div style="color:red;">全局化注册的wzj标签</div>`
            })
            var app=new Vue({
                el:'#app',
                data:{
                }
            })
        </script>
    
    • 说明:组件全局注册后,就可以像一个标签一样在页面上使用,到时候通过vue渲染后就是模板里的内容

    局部组件

    • 说明:局部注册组件局部注册组件和全局注册组件是向对应的,局部注册的组件只能在组件注册的作用域里进行使用,其他作用域使用无效。
    <div id="app">
          <panda></panda>
        </div>
        <script type="text/javascript">
            var app=new Vue({
                el:'#app',
                components:{
                    "panda":{
                        template:`<div style="color:red;">局部注册的panda标签</div>`
                    }
                }
            })
        </script>
    
    • 比较:从代码中你可以看出局部注册其实就是写在构造器里,但是你需要注意的是,构造器里的components 是加s的,而全局注册是不加s的。

    组件与指令的区别?

    • 组件注册的是一个标签,而指令注册的是已有标签里的一个属性。在实际开发中我们还是用组件比较多,指令用的比较少。因为指令看起来封装的没那么好,这只是个人观点。

    父子组件中的通信

    • 父组件通过props属性给子组件传值,子组件通过$emit事件向父组件传值,可以参考父子组件间的通信

    组件在实际项目中的使用

    • 实际的项目中,xxx.vue的的vue页面就是一个组件,一个页面可以由一个或多个组件组成,每一个组件都是由三个部分组成,形如:
    <template></template>
    <script></script>
    <style></style>
    
    • 说明template里是放html页面,script里写逻辑(vue实例在这里面,需要引入的组件也在这里引入),style里写样式

    当a组件需要b组件,我们怎么做?

    • 只需在a组件先引入b组件,最好是用import b from 'b.vue',这是ES6的引入方法,vue支持ES6语法的,然后在a组件的vue实例中注册b组件,这样注册:
    var app=new Vue({
                el:'#app',
                data:{ },
                components:{
                   b:b
                }
            })
    
    • 这样就a组件中就引入了b组件,然后你在template里<b></b>,这样a组件里就成功的引入并使用了b组件
  • 相关阅读:
    time,implicitly_wait,WebDriverWait三种等待方式
    iframe,window,alert切换
    pandas
    TestCase,Testsuit,TestLoder,TextTestRunner实现对测试用例全部执行或部分执行
    静态,类,实例,冒泡
    configparser读取
    ddt,data,unpack用法
    mybatis入门教程之搭建一个简单的mybatis项目并启动它
    修改hosts文件后不生效,该怎么办
    在JavaScript种遇到这样的错误如何解决XML 解析错误:格式不佳 位置:http:/... 行 27,列 32:
  • 原文地址:https://www.cnblogs.com/wan-fei/p/8310780.html
Copyright © 2011-2022 走看看