角度模型数据值未送达控制器

时间:2015-10-16 10:20:59

标签: angularjs

我正在使用角度材质来显示模态对话框。但我面临着将输入字段值输入控制器的问题。

console.log($scope.aadharNumber);

在控制台中,我收到“未定义”消息。

控制器

$scope.showModal = function(viewName, ev) {
        $mdDialog.show({
          controller: DialogController,
          templateUrl: 'views/'+viewName,
          targetEvent: ev,
          scope: $scope
        })
        .then(function(modal) {              
        });
      };

视图

<md-input-container>
    <md-icon md-svg-src="img/icons/ic_email_24px.svg" class=""></md-icon>
    <input ng-model="aadharNumber" name="aadharno" type="text" placeholder="AADHAAR Number" required style="text-align:left">                           
    </div>

</md-input-container>

3 个答案:

答案 0 :(得分:0)

首先尝试在控制器中定义变量“aadharNumber”。

$scope.aadharNumber = "";

然后在你看来放:(和以前一样)

<input ng-model="aadharNumber" name="aadharno" type="text"     placeholder="AADHAAR Number" required style="text-align:left">

编辑: 像迪米特里斯说的那样。我忘了提到你可以用Angular观察变量。这是某种“改变”。

这是他的代码:

$scope.$watch($scope.aadharNumber,function(){
console.log("$scope.aadharNumber has changed into: " + $scope.aadharNumber);
})

答案 1 :(得分:0)

它未定义,因为它没有在控制器中定义。如果您想查看更改,可以使用$watch获取控制器中模型的更新值。

$scope.$watch('aadharNumber',function(){
 console.log($scope.aadharNumber);
})

答案 2 :(得分:0)

Jelmer的答案几乎就在那里,但我认为完全正确的方法是到目前为止给出的答案组合

在控制器中初始化你的ng模型

$scope.aadharNumber = "";

然后在视图中保留它:

<md-input-container>
    <md-icon md-svg-src="img/icons/ic_email_24px.svg" class=""></md-icon>
    <input ng-model="aadharNumber" name="aadharno" type="text" placeholder="AADHAAR Number" required style="text-align:left">                           
</div>
</md-input-container>

如果你想从输入中获取值(我很确定你这样做),那么你必须确实使用$ watch作为shushanth p说:

$scope.$watch($scope.aadharNumber,function(){
    console.log("$scope.aadharNumber has changed into: " + $scope.aadharNumber);
})