既存の MVC 3 サイトで Angular を使用しようとしています。最初にロードされた項目でプライマリ ngApp が動作するようになりましたが、モジュールを追加して実装しようとするとすぐに$routeParams
、ルート プロバイダーが故障し始めたように見えます。私の MVC 3 アプリケーションには、/Article/ReadArticle/key
キーを null にすることを許可する有効なルート ルートがあり、要求された記事を配信する対応するコントローラー/アクションがあります。key
が null または空の場合、最後に入力された記事を提供します。JsonResult
ビューの代わりにを返すことを除いて、同じことを行う別の投稿アクションがあります。
MVC で構築されたモデルを除外するようにビューを変更したため、アクションは基本的にすべての角度テンプレートを含む html ページを単純に返します。angular コントローラーは JsonResult の post アクションを呼び出し、すべてピーチです。サンプルに従って角度モジュールにルーティングを追加しましたが、何らかの理由でルートをキャッチしていないようです:
'use strict';
/* App Module */
angular.module('je', []).
config(['$routeProvider', function ($routeProvider) {
$routeProvider.
when('/Article/ReadArticle/:key', { templateUrl: '/Angular/ArticleView.html', controller: ArticleCtrl }) //.
//otherwise({ templateUrl: '/Angular/ArticleView.html', controller: ArticleCtrl });
} ]);
otherwise
呼び出しをコメントアウトしました。そこに残しておくと機能しますが、デフォルトの記事を表示するだけです。などの有効なルートを手動で入力し/Article/ReadArticle/Some_Valid_Key
ても、適切な$routeParams
. コメントアウトされているため、一致するルートがないように見えるため、テンプレートは読み込まれず、ページは空白です。
function ArticleCtrl($scope, $routeParams, $http) {
console.log($routeParams.key);
$http.post("/Article/GetArticleText", { "textkey": $routeParams.key }).success(function (data) {
console.log(data);
$scope.article = data;
}).
error(function (data, status) {
console.log(data);
console.log("Request failed");
console.log(status);
});
}
サンプルによると、この時点で$routeParams.key
データが入力されているはずです。Some_Valid_Key
明らかに私の期待は現実と一致していませんが、ルートを動作させるために欠けている部分は何ですか?