AngularJS SPA模板

时间:2015-03-21 19:49:44

标签: angularjs single-page-application

我一直在阅读很多关于AngularJS的内容,我只是非常喜欢它背后的概念而且想要让我的脚湿透。我已经阅读了几个教程,最终下载了Visual Studio模板SPA,以及那些有趣的#34;"停止。我看待它的方式 - 使用该模板似乎与创建SPA相反 - 只有很少的例子可以继续。

默认情况下,安装的SPA模板设置如下:

app
app_start
Content
Images
Routing
Scripts
  Vendor
  app.js
  controller.js
  (the rest you get the idea)
Views
you get the idea.

这个问题真的让我烦恼。例如,我想插入一个曲棍球运动员和教练页面(两个单独的SPA)在当前的主页内容下工作。这就是我在"分离"

上有点迷失的地方

我看到它的方式,我将不得不为app.js和控制器添加一个路由器给控制器.js用于教练和玩家,但我不喜欢这样,因为我想分开玩家和教练控制器代码并将它放在像这样的播放器和教练模块下。

但我尝试做的却失败了:

Module
   Player
      playerApp.js
      playerControl.js
      player.cshtml
   Coach
      coachApp.js
      coachControl.js
      coach.cshtml

我正在努力做到"勾拳"他们了我当然不希望将coach控制器和播放器控制器放在scripts文件夹下的control.js文件和Views文件夹下的视图(播放器和教练)中。它会变得难以阅读并最终变得混乱。

任何指导都会对我应该阅读的内容表示赞赏。

感谢,

1 个答案:

答案 0 :(得分:2)

这是一个自以为是的问题和答案,但我想提供一个我认为合适的方案。

除非你迫切需要Razor(即现有的用户控件),否则你阻力最小的路径就是不要使用ASP.Net MVC。相反,您可以利用ASP.Net WebAPI,它与MVC类似,但提供REST接口来处理JSON数据,而不是使用视图和服务器路由。

在您的Web应用程序中,您可以简单地使用单个index.html,它可以与角度连接,您的各个模块可以分开而不必担心多个“app”页面,如何在它们之间进行交互等等。

在服务器上,您可以从其他URL运行WebAPI,或者更常见的是从http://yoursite.com/api/运行WebAPI。 IIS将被配置为将非静态文件(.css,.js,图像等)或api调用的任何内容重定向回单个index.html