<app-dialog></app-dialog>其中dialog是子页面文件夹的名字,只需要把这个标签放在父页面中需要的地方即可。[sessionId]='sessionId',sessionId是父页面中的值,需要传到子页面中去的,父页面中的sessionId是需要定义的,而子页面需要这样来接收父页面中的sessionId,
'#dialogfile'相当于给子页面添加了一个id,在父页面中可以直接通过这个id来接收子页面的值和调用子页面的方法(如果是调用子页面的方法的话,方法名后面是需要加括号的),在父页面中需要这样来定义,
最后是子页面调用父页面的方法。
其中'this'指的就是父页面,而[parent]则是需要在子页面定义的一个名字可以随意更改,
记住调用父页面的方法,方法名后面是需要加括号的,如果有参数的话,直接写在括号里面就好。
这个其实应该放在《多个iframe之间js的通信问题》文章里,但是由于已经写完了,所以就在这里暂且作为补充巴。上一篇文章中,我们说的通信,仅仅说了一个方面,就是访问双方的dom树节点。其实除了访问dom,还有访问js方法也是很重要的。一、父页面访问iframe子页面的js方法
1)父页面
<iframe frameborder="0" name="myContentIframeName" id="myContentIframe"src="examples/completeDemo.html" style="width:99%height:600px"></iframe>
2)iframe页面
<script type="text/plain" id="editor" style="width:700px" >
</script>
<script type="text/javascript">
function getContent(){
var arr = []
arr.push("使用editor.getContent()方法可以获得编辑器的内容")
arr.push("内容为:")
arr.push(ue.getContent())
alert(arr.join("\n"))
return ue.getContent()
}
</script>
3)父页面调用iframe子页面js方法
var editor = window.frames["myContentIframeName"].getContent()
$("#lastContent").val(editor)
1、定义一个子窗口
new.htm<script>
function testa(){//定义子窗口的方法
}
</script>
2、定义父窗口,并调用子窗口的方法
<script>function openWindow(){
var newWindow = window.open(“new.htm”, "", "width=400,height=300 ")//打开子窗口,并返回子窗口的window
newWindow.testa()//调用子窗口的方法
}
</script>