AngularJS-在部分容器下单击按钮时未找到文本框值
AngularJS-Text box value not found on ng-click of a button under section container
我是 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
}
}]);
问题是您正在跨两个 div 使用 same controller
,因此无论何时设置新控制器,现有的 value gets cleared
.
您应该使用不同的控制器,或者为输入和按钮使用通用的 $scope context
。
如果你有两个 different $scope contexts
那么你应该使用 service
在控制器之间共享变量.
我是 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
}
}]);
问题是您正在跨两个 div 使用 same controller
,因此无论何时设置新控制器,现有的 value gets cleared
.
您应该使用不同的控制器,或者为输入和按钮使用通用的 $scope context
。
如果你有两个 different $scope contexts
那么你应该使用 service
在控制器之间共享变量.