1

私は同様の回答を確認し、機能する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 

})();
4

2 に答える 2

0

ngRoute を注入する必要があります。

var appControllers = angular.module('appControllers', ['ngRoute']);

また、アプリの html に ng-view 要素を配置する必要があります。

働くプランカー: http://plnkr.co/edit/IDo6ZRX4a0l5Piz6uzbA

注: ボタンをダブルクリックしてアラートを表示します

于 2015-04-18T01:31:36.863 に答える
0

ページに「Hello」と表示されている場合は、ルートが機能しているため、コントローラーが動作しています。問題はアラートにある可能性があります。あなたの

$scope.test2 = function(){
        alert("okay");
    };

$scope.test2 = function(){
        $scope.test = "World";
    };

ページが値を更新する場合、問題はブラウザがアラートを無効にしていることです。

于 2015-04-18T01:01:07.747 に答える