2017-11-19 3 views
1

저는 Angular가 새롭고 프로젝트를 수행하고 있습니다. MVC입니다. _layout.cshtml 페이지에서 렌더링되는 섹션 컨테이너가 있습니다. 섹션 컨테이너 안에 버튼이 있습니다. 버튼을 클릭하여 텍스트 상자의 값을 가져 오면 값이 비어 있습니다. 여기에 새로운 컨트롤러는 설정되어 있으므로 때마다, 문제는 당신이 same controller이 걸쳐있는 div를 사용하고있다AngularJS- 섹션 컨테이너 아래에있는 버튼을 클릭 할 때 텍스트 상자 값을 찾을 수 없습니다.

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

컨트롤러의 코드 코드

다음
@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> 

입니다 기존 value gets cleared.

다른 컨트롤러를 사용하거나 입력 및 버튼 모두에 공통 $scope context을 사용해야합니다. 두 different $scope contexts이있는 경우

당신은 service 컨트롤러에서 변수를 공유하는 데 사용합니다.

+1

저에게 효과적입니다. 감사. 2 개의 컨트롤러와 데이터를 두 컨트롤러간에 전달하기위한 팩토리를 사용했습니다. –

관련 문제