Я новичок в Angular и работаю над проектом в MVC . У меня есть контейнер раздела, который отображается на странице _layout.cshtml. Внутри контейнера раздела есть кнопка. когда я нажимаю кнопку, чтобы получить значение текстового поля, значение становится пустым. Вот код

@section container{
    <div ng-app="app" ng-controller="ctrl">
    <button ID="btnNext" ng-click="test()"></button>
    </div>
}
<div class="container" ng-app="app" ng-controller="ctrl">
 <input id="txtCode" type="text" ng-model="tst.textbox"/>
</div>

Вот код контроллера

var app = angular.module('app', []);
app.controller("ctrl", ["$scope",
    function ($scope) {
$scope.tst= {};
$scope.tst.textbox='';
$scope.test = function () {
alert($scope.tst.textbox);
//when I give something to textbox for alert it returns nothing
}
}]);
1
Imran Hossain 19 Ноя 2017 в 15:38

1 ответ

Лучший ответ

Проблема в том, что вы используете same controller в двух div, поэтому всякий раз, когда устанавливается новый контроллер, существующий value gets cleared .

Вы должны либо использовать другой контроллер, либо иметь общий $scope context как для ввода, так и для кнопки.

Если у вас два different $scope contexts , вы должны использовать service для совместного использования переменной в контроллере.

1
Sajeetharan 19 Ноя 2017 в 12:42