ng-click изменить значение переменной - PullRequest
0 голосов
/ 17 апреля 2019

Я пытаюсь установить ng-click, чтобы изменить переменную внутри моего контроллера.

Я пытался установить ng-click для таргетинга на переменную mar.

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

внутри контроллера. У меня есть это

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

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

}

Итак, я надеялся, что переменную var mar изменили на 'test-2'; но моя HTML-страница просто продолжает показывать test-1. есть ли директива или способ динамического изменения var mar?

Я не хочу установить $ scope.mar = 'test-1' и манипулировать этим. Как я могу это сделать? Спасибо.

1 Ответ

3 голосов
/ 17 апреля 2019

Вы должны объявить это на $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.

...