绑定文本框时,AngularJs范围未定义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了绑定文本框时,AngularJs范围未定义相关的知识,希望对你有一定的参考价值。

尝试使用下面的代码将数据绑定到范围的输入控件。

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

app.controller("ITEM_Ctrl", function ($scope, $http) {
    var PlantId = "abcFC"; $scope.mdItemId; $scope.mdFlavorId; $scope.itemDtls = {};
    $http({
        method: 'GET',
        url: 'http://localhost:12752/api/Item/GetItem',
        params: { Plant_Id: PlantId, Item_Id: '1234567' }
    }).then(function successCallback(response) {
        debugger;
        //  $scope.itemDtls = {};   
alert(response.data);  --> in alert msg as  [object Object]            
    //    $scope.itemDtls = response.data; -->  ReferenceError: itemDtls is not defined
      //  $scope.testmdItemId = itemDtls.ITEM_ID;
        //  $scope.itemDtls =   response.data;
     //   $scope.mdItemId = response.data.ITEM_ID;  --> scope mdItemId undefined
       // $scope.mdItemId = JSON.parse(response.data.ITEM_ID);
       // $scope.mdFlavorId = JSON.parse(response.data.FLAVOR_ID);
      //.mdFlavorId = "test data";  -- > binding successfully
        $scope.itemDtls = response.data;
            $scope.mdItemId = itemDtls.ITEM_ID;
            $scope.mdFlavorId = response.data.FLAVOR_ID;    
    }, function errorCallback(response) {

    });
});

尝试以不同的方式绑定到输入控件,如上所述,但将msg作为范围未定义。

<body ng-app="ng_app">
    <table ng-controller="ITEM_Ctrl">
        <tr>              
            <td>
                <div>                   
                    <input type="text" id="itemid"  ng-model="mdItemId" />
                </div>
                <div>                 
                    <input type="text" id="flavorid"  ng-value="mdFlavorId" />
                </div>                
            </td>
        </tr>
    </table>
答案

试试这样吧。

 var itemDtls  = response.data;
 $scope.mdItemId = itemDtls [0].ITEM_ID;

以上是关于绑定文本框时,AngularJs范围未定义的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS指令范围绑定未在链接函数中立即填充

MS Access Report 无法在未绑定的文本框中输入文本

范围内未定义简单的 AngularJS 表单

ckeditor和angularjs之间的绑定数据[重复]

在自定义指令的范围绑定中使用符号“@”、“&”、“=”和“>”:AngularJS

angularJS使用ocLazyLoad实现js延迟加载