在AngularJs中父子页面如何相互调用方法和接收值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在AngularJs中父子页面如何相互调用方法和接收值相关的知识,希望对你有一定的参考价值。
参考技术A 因为AngularJs用的人不多,我发现网上关于这方面的文章不多,所以我分享一下在AngularJs中是如何调用和接收的。<app-dialog></app-dialog>其中dialog是子页面文件夹的名字,只需要把这个标签放在父页面中需要的地方即可。[sessionId]='sessionId',sessionId是父页面中的值,需要传到子页面中去的,父页面中的sessionId是需要定义的,而子页面需要这样来接收父页面中的sessionId,
'#dialogfile'相当于给子页面添加了一个id,在父页面中可以直接通过这个id来接收子页面的值和调用子页面的方法(如果是调用子页面的方法的话,方法名后面是需要加括号的),在父页面中需要这样来定义,
最后是子页面调用父页面的方法。
其中'this'指的就是父页面,而[parent]则是需要在子页面定义的一个名字可以随意更改,
记住调用父页面的方法,方法名后面是需要加括号的,如果有参数的话,直接写在括号里面就好。
父子页面之间元素相互操作(iframe子页面)
js/jquery获取iframe子页面中元素的方法:
一、使用window.frames["iframe的ID"]获取元素
window.onload = function() { var oIframe = window.frames["oIframe"].document.getElementById("getFrame"); console.log(oIframe); }
注意:此处一定要加上window.onload或者DOMContentLoaded,也就是DOM加载或者页面加载完成后。
二、使用window.name获取元素
var oIDframe = window.oIframe.document.getElementById("getFrame"); console.log(oIDframe);
oIframe是iframe的name属性值,这种获取方法不必写在window.onload或者DOMContentLoaded中,请自行测试。
三、使用getElementById获取元素
var oIdFrame = document.getElementById("oIframe").contentWindow.document.getElementById("getFrame"); console.log(oIdFrame);
使用document.getElementById获取本页面的iframe元素后,再获取iframe子页面的元素。这种获取方法不必写在window.onload或者DOMContentLoaded中
四、使用jquery获取
var ojIframe = $("#oIframe").contents().find("#getFrame").html(); console.log(ojIframe);
js/jquery iframe子页面获取父页面元素的方法:
一、使用js
var fatherEle = window.parent.document.getElementById("title"); console.log(fatherEle);
二、使用jq
var fatherEleJq = $("#title",parent.document); console.log(fatherEleJq);
父页面:
<div id="title"> index包含iframe子页面 </div> <div id="parent"> <iframe name="oIframe" id="oIframe" src="iframe.html" frameborder="0" width="1000" height="562"></iframe> </div>
iframe.html子页面:
<div id="getFrame">iframe</div>
参考链接:http://java-my-life.iteye.com/blog/1275205
以上是关于在AngularJs中父子页面如何相互调用方法和接收值的主要内容,如果未能解决你的问题,请参考以下文章