【发布时间】:2017-01-12 23:46:13
【问题描述】:
我喜欢 MVC 的主要原因之一是视图和控制器都是强类型的。这意味着我可以使用 Razor 语法直接从视图中调用模型中定义的变量:
<p>
@Model.MyProperty // strongly typed
</p>
在这样做的同时,Visual Studio 将提供智能感知、智能重构选项等。其优势显而易见。
相反,如果我决定使用 AngularJs(或任何其他客户端 UI 框架,实际上),我的视图将如下所示:
<p>
{{myProperty}} // this is just a string!
</p>
没有智能感知,没有重构选项...我一个人呆在这里,因为 IDE 不知道 {{myProperty}} 是什么以及它在哪里定义。换句话说,除了开发人员对应用程序结构及其变量名称的个人知识之外,视图、模型和控制器之间没有契约。
由于我所有的 Angular 模型都与 Typescript 界面相关联,是否有任何工具可以在基于这些 Typescript 界面的视图中为我提供智能感知?
【问题讨论】:
-
完全一样的原因我不喜欢使用 ViewBag !
-
你应该适应它,因为你现在正在开发一个 web api(我猜想),你不会关心前端是如何实现的或者它运行在什么框架上。作为开发人员,您的工作是遵循 Web api 的预期以成功调用它。在我的例子中,我使用
newtonsoft命名空间中的JsonProperty注释我的模型属性,以成功地将我的请求绑定到我的模型 -
React 绝对可以,但我没有看到任何迹象表明 Angular 可以。
-
我不确定 Typescript,但我使用 WebStorm 作为 AngularJS 1.5x 的 goto IDE。
-
React 或 WebStorm 如何在视图中实现智能感知?能详细点吗?
标签: c# angularjs asp.net-mvc razor typescript