私は同様の回答を確認し、機能するPlunkersを変更しようとしましたが、私のプロジェクトでは同様のことをすると失敗します(AngularJS 1.1.0を使用した例が原因である可能性があります)。
チュートリアルhttps://docs.angularjs.org/tutorialを実行しましたが、AngularJS はまだ初心者です。
私のプロジェクトでは、AngularJS バージョン 1.3.9 と次のモジュールを使用しています。
- ngResource
- ngRoute
ng-click に問題があります。
これが私のルーティング設定です:
app.config([
"$routeProvider",
function($routeProvider){
$routeProvider.
when("/calendar",{
templateUrl:"templates/test.php",
controller: 'TestController',
}).
...
}
]);
私のtest.php:
<button data-ng-click="test2()">Thing</button>
{{test}}
これが私のコントローラーです:
var appControllers = angular.module('appControllers', []);
appControllers.controller("TestController",
["$scope",
function($scope){
$scope.test = "Hello";
$scope.test2 = function(){
alert("okay");
};
}
]);
ページをロードすると、「Hello」が表示されますが、ボタンを押しても何も起こりません (コンソールにエラーはなく、フォーム内にはありません)。
data-ng-click を使用した例をいくつか見ましたが、それも機能しません。Angular Documentationの次の例は機能するため、私の問題はスコープの問題である可能性があると思います。
<button ng-click="count = count + 1" ng-init="count=0">
Increment
</button>
count: {{ count }}
誰でも確認して正しい方向に向けることができますか?
前もって感謝します。
アップデート:
インジェクションに関するコンソール エラーはなく、ルーティングは正常に機能していましたが、完全を期すために app.js を含める必要がありました (ファイルには、当分の間ルーティング設定も含まれていましたが、まだ大したことではありません)。
(function(){
var app = angular.module(
// Name of app, linked to ng-app
'testApp',
// Dependencies
[
'ngRoute', // Use the routing service
'ngResource',
]
);
//The routing part goes here
})();