首页 > 解决方案 > ng-model 未从控制器捕获默认值

问题描述

我有一个从控制器传递的值,如下所示

var ndata = {                   
    id:res.data.data.id,
    option1:res.data.data.option1,
    option2:res.data.data.option2              
};


$rootScope.vars = ndata;

现在上面有一个值,我将它放到视图中并分配给一个输入字段

<label>dec</label>
<input ng-model="vars.option1" data-ng-change="nd.option1=vars.option1"
       placeholder="select" type="text"
       class="ng-untouched ng-pristine ng-valid">

如果我提交上述表格,则模型 nd.options 为 null,除非我在输入字段中输入附加值。这意味着它没有使用控制器中的默认值初始化

标签: javascriptangularjs

解决方案


它将显示您期望的结果。

请检查以下代码片段:

var app = angular.module('app', []);

app.controller('MainCtrl', function($scope) {
$scope.name = 'World';

var ndata = {
            id:'001',
            option1:'Option1',
            option2:'Option2'
    };

  $scope.vars = ndata;
 $scope.SubmitForm=function(){
alert(ndata.option1);
}
});

并在 html 文件中写入:

<label>dec</label>
<input ng-model="vars.option1" data-ng-
  change="nd.option1=vars.option1" placeholder="select" type="text" 
  class="ng-untouched ng-pristine ng-valid">
<input type="submit" ng-click="SubmitForm()">

>> Kindly check the Plunker link for more information: 

[链接] https://plnkr.co/edit/wkDSGZwGCGDtpVz49r0u?p=preview


推荐阅读