Angular ng-bind显示'对象而不是值

时间:2014-08-05 03:04:21

标签: javascript json angularjs

我有一个有角度的应用程序,我从服务中获取数据如下:

angular.module('jsonService', ['ngResource'])
    .factory('MyService',function($http) {
        return {
            getItems: function(profileid,callback) {
                $http.get('/api/myapp/'+profileid+'/').success(callback);
            }
        };
    });

我的控制器app.js如下:

var app = angular.module('myapp', ['ui.bootstrap', 'jsonService']);
    app.controller('mycontroller', function(MyService, $scope, $modal, $log, $http) {
        $scope.profileid=3619;

        MyService.getItems($scope.profileid,function(data){
            $scope.profiledata = data;
        });
    });

我在数据中获得的json对象如下所示:

[
    {
        "profile_id": 3619, 
        "student_id": "554940", 
        "first_name": "Samuel", 
        "last_name": "Haynes"
    }
]

当我尝试在文本框中显示这些值时,我没有其中的值。相反,我得到一个[object Object]。这就是我在html doc中调用ng-bind的方式:

<label for="sid">Student ID</label>
<input type="text" class="form-control" ng-model="profiledata" ng-bind="{{profiledata.student_id}}" />

如何显示json对象的值?

1 个答案:

答案 0 :(得分:1)

看看我制作的这个简化的jsbin:http://jsbin.com/korufi/1/

将您的输入更改为:

<input type="text" class="form-control" ng-model="profiledata[0].student_id" />

ng-bind最终使输入看起来像这样:

<input type="text" class="form-control">554940</input>

不会使学生ID显示在文本框中。 ng-model will。