我正在尝试设置ng-click来修改控制器内部的var。
我尝试将ng-click设置为var mar。
<div class="Button" ng-click="mar = 'test-2';">
在controller.js里面我有这个
eventsApp.controller('EventController', function EventController($scope) {
//variables
var mar = 'test-1';
}
所以我希望将var mar更改为'test-2';但是,我的html页面一直显示test-1。是否有指令或方法可以动态更改var mar?
我 不是 要设置$ scope.mar ='test-1'并对其进行操作。我怎样才能做到这一点?谢谢。
答案 0 :(得分:3)
您应该在$scope
上声明它,并且有错字
eventsApp.controller('EventController', function EventController($scope) {
//variables
$scope.mark = 'test-1';
}
编辑
如果不想使用$scope
,则必须将this
分配给控制器内部的变量。这是一个小例子。
var app = angular.module('app', []);
app.controller('EventController', function ($scope) {
//variables
var vm = this;
vm.mar = 'test-1';
});
<div ng-app="app" ng-controller="EventController as ctrl">
<button class="Button" ng-click="ctrl.mar = 'test-2';">
Click me!
</button>
<p>{{ctrl.mar}}</p>
</div>
如果要在控制器的函数内部使用变量,则只需使用$scope.mar
或vm.mar
。