在AngularJS中您的表单中有多个下拉列表时的最佳实践

时间:2014-11-25 06:33:01

标签: javascript angularjs

当您在表单中有多个下拉列表并希望向其添加数据时,您是应该使用单独的控制器还是将它们全部放在一个控制器下?

.controller("Controller1", ['$scope', function ($scope) {
    $scope.dd1 = [
        { id: 1, type: 'test1' },
        { id: 2, type: 'test2' }
    ];
    $scope.dd2 = [
        { id: 1, type: 'test3' },
        { id: 2, type: 'test4' }
    ];
}]);


OR

.controller("Controller1", ['$scope', function ($scope) {
    $scope.dd1 = [
        { id: 1, type: 'test1' },
        { id: 2, type: 'test2' }
    ];

.controller("Controller2", ['$scope', function ($scope) {
    $scope.dd2 = [
        { id: 1, type: 'test3' },
        { id: 2, type: 'test4' }
    ];

2 个答案:

答案 0 :(得分:2)

这取决于。 Angular是关于跨控制器的关注点分离。从应用程序的角度来看,如果下拉相关,我主张将它们保存在同一个控制器下。您不希望创建比Angular应用程序中所需的控制器太多的控制器,因为它可能会使应用程序的可维护性快速复杂化。

答案 1 :(得分:0)

取决于下拉列表的使用情况和所在元素的数量。 如果它是一个重要的菜单,或者你想要在它上面进行更多的交互(添加指令或依赖于它的其他元素),你应该拆分它们。 但是,如果您只想显示数据,并添加/删除菜单选项卡,请将其放在同一个控制器中。