Значение @scope, прикрепленное к кнопке, не обновляется?MVC AngularJs - PullRequest
1 голос
/ 18 июня 2019

У меня есть значение по умолчанию для $scope.buttonId = 0

, который я использую в кнопке ng-click, например,

<button type="button" class="btn green" ng-click="vm.Update({{buttonId}})">
    {{ 'Save' | translate }}
</button>

Здесь он показывает мне 0 в функции кнопки. Но когда я изменяю значение $scope.buttonId в функции контроллера, как,

vm.Select = function (value) {
    $scope.buttonId = 5;
}

Не обновляет значение $scope. Он находится в том же контроллере, использующем для просмотра.

Есть ли другой способ передать идентификатор функции кнопки.

Надежды на ваше предложение

Спасибо

1 Ответ

1 голос
/ 19 июня 2019

Вам не нужно использовать интерполяционную привязку {{buttonId}} в директиве ng-Click. Просто используйте buttonId, и оно будет работать.

<button type="button" class="btn green" ng-click="vm.Update(buttonId)" >{{ 'Save' | translate }}</button>

Посмотрите этот пример для демонстрации.

<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="customersCtrl">
 
<p>Input something in the input box:</p>
<p>Name : <input type="text" ng-model="name" placeholder="Enter name here"></p>
<h1>{{name}}</h1>
<input type="button" ng-Click="view(name)" value="View"/>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
 $scope.view=function(value)
 {
 	alert(value);
 }
});
</script></body>
</html>

Надеюсь, это решит вашу проблему.

...