Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJs主窗口和iframe窗口的相同模型_Javascript_Angularjs_Iframe - Fatal编程技术网

Javascript AngularJs主窗口和iframe窗口的相同模型

Javascript AngularJs主窗口和iframe窗口的相同模型,javascript,angularjs,iframe,Javascript,Angularjs,Iframe,我试图在单击主窗口上的某个链接后打开一个新的iframe窗口。但是,我希望使用相同的模型,即如果主窗口中的数据发生变化,它应该反映在iframe中,反之亦然。主窗口UI将有两个字段,而iFrame窗口将有所有字段 我对angujar的世界很陌生,这可行吗?如果是,有什么建议 使用该指令时,angularjs页面上多个模板的概念很简单 该示例显示了一个可拖动的div 在可拖动元素中放置ng include应该很容易。 您也可以对整个页面使用相同的控制器,包括ngInclude,从而无需通过服务或工

我试图在单击主窗口上的某个链接后打开一个新的iframe窗口。但是,我希望使用相同的模型,即如果主窗口中的数据发生变化,它应该反映在iframe中,反之亦然。主窗口UI将有两个字段,而iFrame窗口将有所有字段


我对angujar的世界很陌生,这可行吗?如果是,有什么建议

使用该指令时,angularjs页面上多个模板的概念很简单

该示例显示了一个可拖动的div

在可拖动元素中放置ng include应该很容易。 您也可以对整个页面使用相同的控制器,包括
ngInclude
,从而无需通过
服务或
工厂
共享数据

编辑:

我创建了一个显示单个模板的简单示例。 如您所见,输入字段位于主页面中。 然后,带有
ng include
指令的div加载一个内联模板(实际上,这些将是完整的单独html页面)

由于包含的模板没有单独的控制器(这是可能的,也是常用的),因此它在父控制器的范围内。因此,模板可以访问
name.first
name.last
变量


您将通过查看“不,您不能”了解更多有关这些的信息。新的iFrame正在不同的上下文中运行。如果来自不同的域,iFrame和父级之间也存在安全限制


您可以使用html5 postmessage在父对象和iframe之间实现消息传递系统。您可以在主窗口中查看作用域上的更改,通知子对象更改并更新子对象的作用域。

不要认为这是一个AngularJS特定的问题,而是需要了解如何通过javascript与iFrame通信。如果您可以做到这一点,那么角度部分应该相对没有意义。正如您所想的那样AngularJS新手,您是否考虑过将指令作为iframe的替代品?它可以将单独的html模板和逻辑保存到父页面,但这两个模板和逻辑通过angular的作用域(父作用域和根作用域)连接起来。为什么要使用和iFrame?@shaunhusain同意,这对angular不是很具体,但只是想看看使用angular是否有帮助,因为我已经在使用angular了。@LcLk这可能是一个好的解决方案。基本上,我希望两个窗口在两个不同的屏幕上,因此类似模态窗口的东西将不起作用。如果你有任何虚假的例子,那就太棒了!我不确定ng include如何帮助跟踪不同窗口中的更改。例如,第一个窗口有一个名为FirstName的字段,单击edit将打开一个名为FirstName和LastName的新窗口,如何在第一个窗口中反映此更改?我正在考虑将值存储到localStorage中,并监听该localStorage的值更改,以便在主窗口或新窗口中的UI发生更改时进行更新。