2015-12-01 73 views
0

在AngularJS的多个页面中可以使用相同的控制器,如果是,那么如何以不同的方式从服务器为每个共享页面预加载数据? ng init可以用来解决这个问题吗?AngularJs - 在页面之间共享控制器

+2

你为什么要共享控制器?如果你想分享页面之间的逻辑,那么你使用服务/工厂。如果你想分享用户界面,那么也许你可以将零件粘贴到指令中。但你永远不需要共享控制器 –

+0

@CallumLinington,我认为'将是最好的答案,为什么不作为回答而不是评论? – Victor

+0

@Victor并不认为它真的回答了这个问题,只是提出了另一个观点。 –

回答

0

为什么你想共享控制器?如果你想分享页面之间的逻辑,那么你使用服务/工厂。如果你想分享用户界面,那么也许你可以将零件粘贴到指令中。但是你永远不需要共享控制器。

如果文件数量令您担心,请将所有JavaScript文件合并为一个。

+0

我是angularjs的新手,我可能会问,并提出跛脚的评论请耐心等待。我仍然无法摆脱控制器的数量巨大的,如果我的网页DONOT必须从服务器只是获取数据的任何逻辑,为什么不能有onload事件这样的功能,我可以指定方法名 – maverick192003

+0

@ maverick192003,不要”不用担心,这是练习的重点。现在,我恐怕我不太了解你的问题。我想我仍然会为每个不同的页面设置一个单独的控制器,即使它的功能很小。 – Victor

+0

谢谢@Victor,如果有一个选项可以指定在pageLoad上调用哪个方法,我可以在同一个控制器中提供不同的方法,并在整个页面中使用它,我必须在加载页面时从服务器加载数据(许多页面具有相似的行为)页面。我可以使用ng init指定方法名称吗? – maverick192003

相关问题