Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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

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 如何在Angular JS route中将多个控制器添加到一个视图中_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在Angular JS route中将多个控制器添加到一个视图中

Javascript 如何在Angular JS route中将多个控制器添加到一个视图中,javascript,angularjs,Javascript,Angularjs,例如,在本官方教程中,只有一个控制器PhoneListCtrl分配给视图/电话。如果此视图有多个控制器怎么办 phonecatApp.config(['$routeProvider', function($routeProvider) { $routeProvider. when('/phones', { templateUrl: 'partials/phone-list.html', controller: 'PhoneListCtrl'

例如,在本官方教程中,只有一个控制器PhoneListCtrl分配给视图/电话。如果此视图有多个控制器怎么办

phonecatApp.config(['$routeProvider',
  function($routeProvider) {
    $routeProvider.
      when('/phones', {
        templateUrl: 'partials/phone-list.html',
        controller: 'PhoneListCtrl'
      }).

提前谢谢

有很多方法可以解决这个问题

  • 您可以在视图中使用
    ng controller
    指令:

    <div ng-controller="someOtherController">
        <input ng-model="propertyOfSomeOtherControllersScope" />
    </div>
    
    
    
    • 您可以使用angular ui团队的。简言之,这允许您在一个“状态”中拥有多个命名视图,这在习惯上类似于它们的“路由”。在这里对它进行了太多的描述,但对于几乎任何项目来说,它都是一个很好的模块

    • 这与第一个解决方案类似,但您可以使用
      ng include
      包含另一个显式声明其控制器的分部。基本上,在主文件中:
      和file2.html中:


这三件事让我想到了,当然还有其他的方法。在某些情况下,您可能需要一个指令,而不是单个视图中的另一个控制器。希望这能让您从正确的方向开始。

为什么不直接将控制器分配给视图?