嘿伙计我有以下控制器:
(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;
});
}
})();
在我看来,我有这个按钮
<button ng-click="vm.quantity + 3">Add</button>
我正在尝试在我的视图上获取按钮,将数值3添加到控制器中的vm.quantity
变量中。
但是,如果按下前端的按钮,则值3不会添加到vm.quantity
变量中。
知道为什么这可能不起作用?
答案 0 :(得分: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;
};
答案 1 :(得分:1)
你可以尝试两件事:要么像{{vm.quantity + 3}}这样做,以便Angular将评估该表达式(现在你缺少大括号)或第二:添加到ng-click一个函数像增量一样,在控制器中做实际的增加。
希望有所帮助