单击var的更改值

问题描述 投票:0回答:1

我正在尝试设置ng-click以修改控制器内的var。

我试图设置ng-click来定位变量。

<div class="Button" ng-click="mar = 'test-2';">

在controller.js里面,我有这个

eventsApp.controller('EventController', function EventController($scope) {

    //variables
    var mar = 'test-1';

}

所以我希望将var变为'test-2';但是,我的html页面只是一直显示test-1。是否存在动态更改var mar的指令或方法?

我不想设置$ scope.mar ='test-1'并操纵它。我怎样才能做到这一点?谢谢。

angularjs angularjs-directive
1个回答
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.marvm.mar

© www.soinside.com 2019 - 2024. All rights reserved.