2016-09-05 8 views
2

MVCが好きな主な理由の1つは、ビューとコントローラの両方が強く型付けされていることです。これは私がカミソリの構文を使用して、ビューから直接、モデルで定義された変数を呼び出すことができます意味:MVCでAngularJsを使用するときにビューを強く入力する

<p> 
    @Model.MyProperty // strongly typed 
</p> 

そうすることが、Visual Studioはインテリセンス、スマートリファクタリングオプションなど明白であることの利点を提供します。

私は(実際に、または任意の他のクライアント側のUIフレームワーク)AngularJsを使用することを決定した場合はその代わり、私の見解は次のようになります。

<p> 
    {{myProperty}} // this is just a string! 
</p> 

ノーインテリセンス、無リファクタリングオプション...私は」 IDEは何を定義しているのかわからないので、ここに1つだけ残しておきます。{{myProperty}}はどこに定義されていますか?言い換えれば、開発者がアプリケーションの構造とその変数の名前を持っているという個人的な知識以外には、View、Model、およびControllersの間に契約はありません。

私のすべての角度モデルはTypescriptインターフェイスに関連付けられているので、これらのTypescriptインターフェイスに基づくビューで私にインテリセンスを与えるツールはありますか?

+0

まったく同じ理由で私はViewBagを使いたくない! – Shyju

+0

あなたはそれに適応する必要があります。なぜならWeb API(私が推測している)を開発しているからです。フロントエンドがどのように実装されているか、どのフレームワーク上で動作するかは気にしません。それは正常にそれを呼び出すために、Web APIが期待するものに従う開発者としてのあなたの仕事です。私の場合、 'newtonsoft'名前空間の' JsonProperty'を使って自分のモデルプロパティに注釈をつけて、自分の要求を私のモデルに正しく結びつけます。 – Sherlock

+0

Reactでは可能ですが、Angularで可能なことは何も見ていません。 – Paarth

答えて

0

いくつかの調査を行った後、この特定の機能(TypeScriptのHTMLではintellisense)はどのエディタでも完全にサポートされているようには見えません。ただし、プラグインをいくつかインストールして名前の自動補完機能を利用することもできます(ブラケット構文はAngularや他のフロントエンドフレームワークに固有なので)。

また、このブログの記事は、あなたの問題を解決しないかもしれないが、 -

:そこVS、VSコード、WebStormのための拡張であります別の方法で問題に近づいても問題が解決しない場合があります。 Strongly Typed Views with AngularJS

関連する問題