ng-controller 如何找到正确的控制器文件?

How does ng-controller locate the right controller file?

我是 AngularJS 的新手。我有一个包含多个项目的 Visual Studio 解决方案,我想将使用控制器的视图从一个项目移动到同一解决方案中的新项目,但我不确定是否必须移动我的控制器。目前,控制器和视图位于同一个项目中。该视图使用 ng-controller 指令将控制器附加到 DOM。

我不确定 ng-controller 如何找到控制器。在我见过的每个示例以及我正在使用的整个应用程序中,ng-controller 始终等于一个没有路径的控制器名称,例如 ng-controller="MyController"。那么,它如何知道控制器的位置?

例如,这是来自我的 cshtml 视图的匿名片段:

@model MyProject.ViewModel.Panel.MyViewModel
<div id="Panel"
    ng-controller="MyController" 
    ng-init="MyController.initValues(@Model.Id,
    ...,
    ...)">
</div>

ng-controller 是如何找到 MyController 的,如果我将它的视图移到与它们当前共享的项目不同的项目中,它还能找到 MyController 吗?

<div ng-app="myApp" ng-controller="myCtrl">

Full Name: {{firstName + " " + lastName}}

</div>

<script>

var app = angular.module('myApp', []);

// **** AngularJs will find it or look for it from where ever              ****
// **** you define in the app.controller('xxxx') variable                  ****
// **** which is alias to a Namespace 'myApp'                              **** 

app.controller('myCtrl', function($scope) {
    $scope.firstName = "John";
    $scope.lastName = "Doe";
});

</script>