私は従来のMVCアプリケーションで作業していますが、ビューの中にAngularを実装したいと思います。角型注入とコントローラーでのHTMLのコンパイル
角度を$compile
に取得する初期の闘争の後、私は克服できないようなエラーが残っています。
方法、それは動作します(と何かが、私は変更することはできません)は、jQueryの特定のビュー/層のマークアップをロードすることで、DOMで、私はそのとき、次の
// Compiles the DOM into the Angular application
if ($layer.hasClass('angular-view')) {
angular.injector(['ng']).invoke(function ($rootScope, $compile) {
$compile($layer)($rootScope);
$rootScope.$digest();
});
}
これは私が見ることができますしかし、素晴らしいですがレンダリングされたページ、上の評価値({{2+2}}
)、私はマークアップにコントローラをコンパイルしようとすると、私は次のエラーを取得する:
Argument 'MyController' is not a function, got undefined
これは私がに注入していたマークアップですアプリケーション:
ここ<div ng-controller="MyController">
<span>{{2+2}} - {{name}}</span>
</div>
は、私はアプリのモジュールを宣言しています方法は次のとおりです。
angular.module('app', [])
.controller('MyController', function ($scope) {
$scope.name = "Terry Nutkins";
});
私はこのような "メイン" DOMでアプリケーションを初期化しています:
<body ng-app>
<!-- Content -->
</body>
(私もしました試みたng-app = "app")
どのような考えですか?
また、デバッグコンソールでモジュールにクエリを実行すると、コントローラがそこに着席していることがわかります。