我正在使用AngularJS构建一个新的应用程序,以下是对它的简化描述。
我有一个工作页面,我有药片和标签(使用Bootstrap)以及侧窗格,我可以从页面类型列表中选择,并在选择时,添加了新的药片 - 标签对(页面为ng-inlcude
- ed)。每个子页面类型都有自己的控制器(在每页的包裹ng-controller
使用div
定义)。
到目前为止这个工作正常。
现在,假设在此上下文中有三个主要(子)页面可以从侧窗格调用:人员,房屋和汽车,每个页面显示相关对象类型的列表(即人员,房屋或车)。
当查看人员列表时,用户可以点击其中一个记录,并且需要使用该人员的详细信息创建新的药片标签。
这里有两个问题:
如何将所选人员的唯一ID传递给人员详细信息页面?
由于我选择了不同的人时创建了新的标签(还没有尝试过),人员详细信息页面的每个INSTANCE都有自己的上下文,即$scope
或所有实例人员详细信息页面共享相同的$scope
(请注意,我使用相同的控制器打开了几次相同的子页面)?
最重要的是,我需要在其自己的上下文中处理任何子页面类型的每个实例。
这是AngularJS的工作方式还是我需要实现一些特殊的技巧?
提前感谢。
答案 0 :(得分:0)
根据我的阅读,您的业务逻辑非常先进。你可以使用裸角实现这一点,但它将是困难和凌乱的代码。我建议使用ui-router,因为
关于你的问题,请参考docs,它们会比我的更有用
希望,它很有用
答案 1 :(得分:0)
嗯,缺少其他答案迫使我测试一下,这是我原来问题的结果/答案(如果它对其他人有用的话,张贴):
由于每个页面都有自己的控制器,因此我使用$emit
方法和适当的参数在控制器之间传递信息。它非常适合我,
页面的每个实例(例如,当同时查看两个人的个人资料时)都有自己的数据上下文(即$scope
),因此页面之间不存在串扰。