2021-5-13補充:這個方法隨着我對vue學習的深入此方法已經不是最佳解決方法,最新解決方法請看我最新一篇博客:
https://www.cnblogs.com/jyj666/p/14722294.html
2021-4-5補充:這篇文章是我去年剛學vue的時候寫的,隨着對vue.js的繼續深入,其實在dialog中嵌套子頁面完全可以使用組件的方式,將這個html頁封裝成一個子組件,因此以下方法適合組件無法傳值時使用,不首先推薦!
最近接到個需求寫一個拍照界面但是要有回彈效果,本來我使用的是window.onload函數來實現頁面的跳轉,但是后來因為要涉及到回彈,再加上本身系統是使用ElementUI的UI框架,然后我老大就i推薦我使用el-dialog。
這邊前前后后踩了很多坑,關於如何使用el-dialog詳見官方文檔:https://element.eleme.cn/#/zh-CN/component/dialog#events
這里我說提幾個注意點:首先!我的系統是主頁面套好幾個組件,然后組件里有按鈕再點擊彈出el-dialog的但是這個el-dialog中需要有和硬件交互的部分!!!所以要引入原生js,!!!重點來了!!!引入原生js以后!!!你會發現el-dialog正常都是里面嵌套一個div...你里面壓根沒法像html中使用<Script></Script>然后你需要引用的這個原生js腳本你會發現放在原來的CSTHML視圖里面會失效,放在layout母版頁里面也會失效。。。反正就各種無效。。。最后我使用了<iframe>標簽,就是事先寫好一個html頁,然后將HTML頁嵌套進<iframe>標簽內效果圖:
代碼:
<el-dialog title="拍照" v-bind:visible.sync="dialogVisible" v-bind:on="test"> <iframe src="~/Scripts/gpyJS/gpy.htm" style="width:850px;height:700px;"></iframe> </el-dialog>