1. 程式人生 > >通過 iframe引用的vue檔案之間的方法互調

通過 iframe引用的vue檔案之間的方法互調

假設有兩個檔案

general.vue(這是一個vue多入口生成的例項,會被打包為一個單獨的general.html)

generalPage.vue(這個檔案通過iframe引入general.html)

那麼,如何在general.vue裡觸發generalPage.vue中的方法vueFun?

方法如下:

1.在general.vue中通過parent.vueFun(params)呼叫函式

general.vue------------------------------------------------------------------------------------------------------

<template>
  <div class="main-cotent">
    <span @click='checkButtonClick({linktype: item.linktype, type: "a"})'>呼叫</span>
  </div>   
</template>


<script>
export default {
  name: 'general',
  created () {
  },
  methods: {
      checkButtonClick (params) {
      parent.vueFun(params)


      }
  }
}
</script>

1.在generalPage.vue中,在created中將vueFun 註冊為全域性即可呼叫
generalPage.vue------------------------------------------------------------------------------------------------

<template>
  <div class="main-cotent">
    <iframe id="windowiframe" frameborder="no" border="0" src="general.html"></iframe>
  </div>   
</template>


<script>
export default {
  name: 'generalSurvey',
  created () {
    window.vueFun = function (params) {
      alert('hello')
    }

  }
}
</script>