w3schools からAngularJSの学習を始めました。私は彼らがチュートリアルで言及したことのある例を実践しようとしています。すべてが正常に動作しますが、「AngularJS Controllers」に来たとき、 w3schools Try it Yourself" で適切に動作しているので適切に動作していません。私はこれにコードを分岐しました 中央の例 。私のスクリプトは次のようになります。
function personController($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
}
私を助けて、良いチュートリアル(または無料のPDFファイル)を提案してください。
これはあなたの修正フィドルです。
angularの場合、コントローラーの定義は次のようにする必要があります。
angular.module("app", []).controller("personController", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
そして、間違いなく、Angular)のbasicsを学習するためのこれまでで最高のチュートリアルはCodeSchoolone!
お役に立てれば。
これは新しいアプローチです。モジュールなしではコントローラーを使用できなくなりました。 this をご覧ください。モジュールを追加してコントローラーを追加するだけで問題ありません。
あなたのjsフィドルを修正しました。 中央の例 を確認してください
function personController($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
}
JSフィドル設定onLoadからNo wrap-in headを除いて、コードに問題はありませんでした
モジュール内のパラメーターとして関数を入力する必要があります
var app = angular.module('app',[]);
app.controller('personController',function($scope){
$scope.firstName = 'John';
$scope.lastName = 'Smith';
});
np-app="myApp"
のようなhtmlのタグに<html ng-app = "myApp">
を追加することで、私のコードは正常に動作します。
アプリケーションモジュールを作成してから、コントローラーを追加する必要があります。 In angularそれはすべて依存関係に関するものです。2番目にアプリ名が必要です。基本チュートリアルはメインページにあります: https://docs.angularjs.org/tutorial/ step_ 私はそれで始めました、そしてそれは私と一緒にうまく働きました。ただステップ1から始まるすべてのステップをしてください。
これは「Angular Controller Not Working」の一般的な検索結果であるため、「コントローラーが動作しない」問題を解決するソリューションを追加すると役立つと思いました。
$routeProvider
がコントローラーファイルとtemplateUrlパーシャルを指している基本ルートがあります:
$routeProvider.when('/', {
templateUrl: 'partials/home.html',
controller: 'homePage'
});
他にもいくつかのルートがあり、それらのコントローラーはすべて機能していましたが、何らかの理由で最初のルートでは機能しませんでした。結局のところ、パーシャルに小さな論理エラーがあり、コントローラーコードが実行できませんでした。
ちょっとした間違いですが、コントローラーコードの実行を妨げるパーシャルのロジックの問題であることに不意を突かれました。コンソールエラーが存在していても、問題が私の「JavaScript」にないため、発見するのを認めるよりもはるかに時間がかかりました。密結合されたフロントエンドコードの楽しさ、アミライト?
同じ問題は、ngAppを別のngAppにネストしようとする場合です。
ドキュメントには次のように書かれています:
AngularJS applications cannot be nested within each other.