ref 和 $refs 父子組件方法調用 vue項目打包(2018/12/4)

1、ref 和 $refs 的使用
ref
        ref 用來給元素或子組件註冊引用信息。引用信息將會註冊在父組件的$refs對象上。若是在普通DOM元素上使用,引用指向的就是DOM元素;若是用在子組件上,引用就指向組件實例。
$refs
         通常來說,獲取DOM元素,需document.querySelector(".text")獲取這個dom節點,而後在獲取text的值。 可是用ref綁定以後,咱們就不須要在獲取dom節點了,直接在上面的input上綁定text,而後$refs裏面調用就行。 而後在javascript裏面這樣調用:this.$refs.text  這樣就能夠減小獲取dom節點的消耗了
 
2、父子組件的方法調用
父組件調用子組件的方法    先用ref=「xxx」在子組件進行註冊   而後用 this.$refs.xxx.方法()進行調用
子組件調用父組件的方法    this.$parents.方法()
<body>
          <div id="box">
              <button  @click="text">調用子組件的方法</button>
              <com ref="child" ><span slot="left">搜索</span></com>
          </div>
          
          <script type="text/javascript">
              var com ={   //子組件
                   template:`<div @click="chi"><slot  name="left"></slot>這是子組件</div>`, //子組件的事件要寫在模板裏
                   methods:{
                        fun(){
                             alert("這是子組件的方法")
                        },
                        chi(){  //子組件調用父組件的方法
                             this.$parents.one()
                        }
                   }
              }
              new Vue({   //父組件
                   el:"#box",
                   components:{
                        com
                   },
                   methods:{
                        one(){
                             console.log("這是父組件的方法")
                        },
                        text(){   //在父組件的方法中利用this.$refs調用
                             this.$refs.child.fun()
                        }
                   }
              })
          </script>
     </body>
 
 
3、vue項目打包
在文件目錄下的/config/index.js中找到build 進行下面的操做
build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),
    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',
    assetsPublicPath: './',  //這個路徑本來是「/」 如今將其改成「./」
執行這個操做後會生成一個dist文件夾  將這個文件夾複製以後上傳到服務器便可
相關文章
相關標籤/搜索