我应该在ASP.NET MVC应用程序中哪里引用Angular控制器?

时间:2016-02-15 09:35:45

标签: javascript asp.net angularjs asp.net-mvc

当我们在ASP.NET MVC和Angular中开发应用程序时,我们必须选择一个存储Angular脚本的地方。 Angular模块所在的主应用程序文件通常放在Scripts目录中,并在Layout视图中引用。

但是控制器怎么样?角度控制器通常绑定到视图。把它放在视图里面的脚本部分很诱人。

@section scripts{
    <script type="text/javascript">

        'use strict';

        foo.controller('fooBarCtrl',
        ...

但这并不是一个好主意,因为该控制器不会是一个单独的JavaScript文件而且不会被缓存(甚至更糟糕 - 在某些情况下,即使我们不希望它也会缓存)。

将控制器放入Scripts\Controllers目录,将每个控制器放入单独的文件中是很常见的做法。它不仅有助于避免缓存问题,还可以防止混淆Razor和JavaScript。如果我们将它们包装在一个包中,它还允许缩小脚本。

我的问题是 - 我们应该如何引用这些脚本?我已经看到了所有脚本都在Layout中加载的示例。它似乎不是最好的解决方案,特别是对于大型项目。我们应该将每个脚本包装在一个单独的包中并在脚本部分中引用吗?

@section scripts{
    <script src="@Url.Content("~/Scripts/Controllers/fooCtrl.js")" type="text/javascript"></script>
}

引用Angular控制器的最佳做法是什么?

1 个答案:

答案 0 :(得分:1)