iframe的上一步、下一步操作
背景
使用Element的Tabs组件嵌入多页面,但是页面中需要实现上一步、下一步功能,如图:
实现
//父组件
var vm = new Vue({
el: "#app",
data: {
pages: [],
index: 0,
bmbiId: 0
},
methods: {
goPageIndex(pageIndex) {
this.index = pageIndex;
}
},
...
});
//在Vue实例外声明方法
function goPageIndex(tab) {
vm.goPageIndex(tab)
}
//子组件
<div style="text-align:center;margin:10px;">
<el-button type="primary" @@click="handleBack" size="mini">上一步</el-button>
<el-button type="primary" @@click="handleNext" size="mini">下一步</el-button>
</div>
//上一步
handleBack() {
window.parent.goPageIndex(1);
},
//下一步
handleNext() {
window.parent.goPageIndex(3);
}
Vue使用iframe踩坑
需求
通过iframe写epub阅读器
由于src需要加密,所以在src拼接的时候直接调用函数获取参数
BUG
每次页面一动就会重新获取加载一次iframe,导致页面晃动
解决方案
把方法值赋值给变量,在src拼接中直接使用变量,而不是直接使用函数获取
心得
动态加载的数据,一般赋值给变量,而不要直接调取方法获取
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。