1

関数名(para1){}のような通常の関数ではなく、AngularJSのほとんどのチュートリアルでの匿名関数の使用を参照してください。このリンクをご覧ください:http://www.w3schools.com/angular/tryit.asp?filename=try_ng_controller_propertyAngularJSで常に匿名関数を使用する理由

私は正常な機能に変更しますが、動作しませんので、ご了承ください。ありがとう。

<div ng-app="myApp" ng-controller="personCtrl as main"> 

First Name: <input type="text" ng-model="firstName"><br> 
Last Name: <input type="text" ng-model="lastName"><br> 
<br> 
Full Name: {{main.fullName()}} 

</div> 

<script> 
var app = angular.module('myApp', []); 
app.controller('personCtrl', function($scope) { 
    $scope.firstName = "John"; 
    $scope.lastName = "Doe"; 
    function fullName() { 
     return $scope.firstName + " " + $scope.lastName; 
    }; 
}); 
</script> 
+0

名前付き関数を使用したい場合は、次のように関数を宣言します。$ scopeのように指定します。 fullName = fullName; –

+0

はい。私は関数name(){}を追加するとうまくいきました。しかし、私はスコープ – AngularJS

答えて

1

$スコープのアイデアは、あなたのテンプレートからのフィールドと関数を参照することができるように、すべてのフィールドと機能が上に定義されたオブジェクトを持つことです。

$scopeに機能をアタッチしていない場合は、角度を表示するために表示されません。したがって、コントラクト関数では、フレームワークによって渡された$scopeオブジェクトに必要なものをすべて追加し、後でそのフィールドにアクセスしたり、テンプレートから関数を呼び出すことができます。 ng-model{{ }}などのディレクティブで参照するものはすべて角で評価されますが、角はスニペットリンクに書かれているように式fullName()の意味を理解していないか、main.fullName()と書かれているコントローラで見つけられません。

$scopeの概念については、the angular docs on scopesをご覧ください。

+0

にそれを割り当てる必要があります。もっと参考になるように参考資料をくれますか? – AngularJS

+0

スコープの角文書を見てください。私は私の答えにリンクを追加しました。 –

0

あなたができること(そして良い習慣でもあります)は、あなたの関数を宣言してから(おそらくcontrolelrのinitで)それらを$ scopeに割り当てます。

+0

ありがとうございます。これは私が欲しいのです。あなたと同じようなものが見えます。 – AngularJS

+0

幸せあれば幸せ..もしかしてplzレートそれは..--) thnx! –

+0

私の評判が15になった後に評価します。ありがとうございました。素敵な週末を過ごしましょう。 – AngularJS