在AngularJs中父子页面如何相互调用方法和接收值

JavaScript021

在AngularJs中父子页面如何相互调用方法和接收值,第1张

因为AngularJs用的人不多,我发现网上关于这方面的文章不多,所以我分享一下在AngularJs中是如何调用和接收的。

<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>