Javascript 巨大页面的角度架构
我需要在AngularJS上创建一个巨大的页面。我在想哪种架构更适合这个页面?所以,页面有3个块,有很多功能,但主要是:左边的块有帐户,用户可以选择一些帐户,这个帐户应该显示在中间块上。可以更改中间块,结果应显示在右侧块上。 对于html,我为每个块创建了3个视图,并使用ng include将它们包括在内。此外,我还希望以某种方式将控制器划分为几个文件,因为我没有在一个文件中使用很多代码。我看到了一些方法,如何做到这一点。 1.为每个视图创建控制器,并通过广播传输数据,或在RootScope上保存数据并使用监视程序。 2.创建父控制器并由其传输数据。Javascript 巨大页面的角度架构,javascript,angularjs,architecture,controller,Javascript,Angularjs,Architecture,Controller,我需要在AngularJS上创建一个巨大的页面。我在想哪种架构更适合这个页面?所以,页面有3个块,有很多功能,但主要是:左边的块有帐户,用户可以选择一些帐户,这个帐户应该显示在中间块上。可以更改中间块,结果应显示在右侧块上。 对于html,我为每个块创建了3个视图,并使用ng include将它们包括在内。此外,我还希望以某种方式将控制器划分为几个文件,因为我没有在一个文件中使用很多代码。我看到了一些方法,如何做到这一点。 1.为每个视图创建控制器,并通过广播传输数据,或在RootScope上保
你觉得这个怎么样?或者一个大型控制器是最好的解决方案?通过控制器传输数据的最佳方式是什么?谢谢。针对您的情况有很多方法,我会告诉您我认为最好的方法 首先,创建一个父抽象状态,在该状态下,您可以在其中执行所有脏活,删除从服务器获取的数据或其他内容,注入所有需要在
$scope
中使用的数据,然后转到子状态“您的大页面所在位置”
诸如此类:
.state('parent_state', {
url: '/home',
abstract: true,
templateUrl: 'whatever',
controller: 'yourCtrl as yourCtrl'
})
.state("parent_state.child",{
//Whatever you need here
})
当您转到子状态时,您将在$scope
中获得所需的所有数据,因此您可以将更多精力放在逻辑上,而不是包装数据
在我看来,一个页面应该只有一个控制器,如果为视图的每个部分都提供一个控制器是没有意义的,否则需要使用自定义指令
因此,如果您有一个控制器来控制所有这些指令,或者一个控制器和多个指令
你的电话