2016-04-08 9 views
0

と変数に数値を渡すやあみんな、私は、次のコントローラがあります。私は、このボタンはNGクリック

<button ng-click="vm.quantity + 3">Add</button> 

を持って

(function() { 
    'use strict'; 

    angular 
    .module('app.landing') 
    .controller('LandingController', LandingController); 

    function LandingController($http) { 

     var vm = this; 
     vm.quantity = 9; 
     $http.get('api/getarticles'). 
     success(function(data, status, headers, config) { 
     vm.articles = data; 
     }); 
     $http.get('api/getFeaturedArticles'). 
     success(function(data, status, headers, config) { 
     vm.featuredArticles = data; 
     }); 
     } 
})(); 

そして、私のビュー上を、私は上のボタンを取得しようとしています私の意見は私のコントローラ内で私のvm.quantity変数に3の数値を加えることです。

しかし、フロントエンドのボタンを押した場合、値3は変数vm.quantityに追加されません。

なぜこれが機能しないのでしょうか?

+0

なぜng-clickイベントで1つの関数を呼び出していませんか? –

答えて

4

あなたはvm.quantity + 3を行う際に、結果はどこにも保存されていないとして、あなたの変数は変更されません...あなたが行う必要があります:あなたの中

<button ng-click="vm.quantity = vm.quantity + 3">Add</button> 

それとも

<button ng-click="addValue(3)">Add</button> 

コントローラ:

$scope.addValue = function(value) { 
    vm.quantity += value; 
}; 
+0

'+ ='はうまくいきません – Lulylulu

+0

私は悪い私が投稿を編集しました。 – Alex

1

あなたは2つのことを試すことができます:{{vm.quantity + 3}}のようにするとAngularが評価されますその式を食べました(今は中括弧がありません)。または2番目に増分のような関数をng-clickしてコントローラに実際に増やします。

希望します。

+1

角度は既にAngularディレクティブ(ng-click)で書かれているので、表現を評価しています。中括弧は標準HTML属性でのみ必要です。 – Alex

+1

通知をありがとう。 – Viocartman

+1

問題はありません;)私は先月集中的に使用していましたので、 – Alex

関連する問題