zoukankan      html  css  js  c++  java
  • Vue-组件注册

      Vue_组件及其注册:

    基本示例

    这里有一个 Vue 组件的示例:

    <div id="components-demo">
      <button-counter></button-counter>
    </div>
    new Vue({ el: '#components-demo' })
    ​
    // 定义一个名为 button-counter 的新组件
    Vue.component('button-counter', {
      data: function () {
        return {
          count: 0
        }
      },
      template: '<button v-on:click="count++">You clicked me {{ count }} times.</button>'
    })

    这个例子中是 。我们可以在一个通过new Vue` 创建的 Vue 根实例中,把这个组件作为自定义元素来使用:

    You clicked me 0 times.

     

    注意: 取而代之的是,一个组件的 data 选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝: 如果 Vue 没有这条规则,点击一个按钮就可能会像如下代码一样影响到其它所有实例

     

    二:组件之间的传递数据:

            <div id="app">
                <ul>
                    <product-com v-for="item in proList" :product="item"></product-com></ul>
            </div>
            <script type="text/javascript">
                //注意:template直接引入html内容需要`innerHTML`
                Vue.component("product-com",{
                    props:['product'],
                    template:`              <li>
                        <h3>产品名称:{{product.title}}</h3>
                        <h4>产品描述:{{product.brief}}</h4>
                        <p>产品价格:{{product.price}}</p>
                    </li>`,
                    data:function(){
                        return {
                            
                        }
                    }
                })
                //跟组件
                let app=new Vue({
                    el:"#app",
                    data:{
                        proList:[
                            {
                                title:"产品1",
                                price:"10",
                                brief:"产品描述"
                            },
                            {
                                title:"产品2",
                                price:"10",
                                brief:"产品描述"
                            },
                            {
                                title:"产品3",
                                price:"10",
                                brief:"产品描述"
                            }
                        ]
                    }
                })
            </script>

     

    三:动态prop:

    类似于v-bind绑定HTML特性

    <div id="app">
        <div>
          <input v-model="parentMsg">
          <br>
          <child v-bind:message="parentMsg"></child>
        </div>
    </div>
     
    <script>
    // 注册
    Vue.component('child', {
      // 声明 props
      props: ['message'],
      // 同样也可以在 vm 实例中像 "this.message" 这样使用
      template: '<span>{{ message }}</span>'
    })
    // 创建根实例
    new Vue({
      el: '#app',
      data: {
        parentMsg: '父组件内容'
      }
    })
    </script>

     

  • 相关阅读:
    Glide优化
    Java多线程知识点
    Android知识点
    Gradle的一些技巧和遇到的问题
    Python用Django写restful api接口
    Python写爬虫爬妹子
    用最简单的例子说明设计模式(三)之责任链、建造者、适配器、代理模式、享元模式
    【Python】扫描指定文件夹下特定后缀的文件
    【Python】生成多级树结构的xml文件
    【转】【Linux】安装pyinstaller
  • 原文地址:https://www.cnblogs.com/instead-everyone/p/14570977.html
Copyright © 2011-2022 走看看