Я пытаюсь настроить 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' и манипулировать им. Как я могу это сделать? Спасибо.
поэтому я хочу динамически изменять переменную, чтобы использовать ее в функции. вар tModel = modelService.models(mar); это будет так называться? вар tModel = modelService.models($scope.mar); ?
Вы не дали нам много информации для продолжения, но я условно скажу, что да, это был бы способ использовать двустороннюю привязку данных в AngularJS.
Вы должны объявить это на $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
.
есть ли способ вызвать $scope.mark в качестве параметра функции? Например. вар tModel = modelService.models(mar);
Вы можете просто использовать $scope.mark внутри этой функции. Вы используете контроллер в состоянии?
Ваше обновление не имеет смысла. Вы хотите иметь возможность обновлять переменную, которая находится в вашем контроллере, но вы не хотите иметь какие-либо отношения для этой переменной между вашим контроллером и вашим представлением? Это не совсем возможно. Возможно, вы могли бы расширить свой вопрос, чтобы точно описать, чего вы пытаетесь достичь здесь.