无法使用带有odata的ng-repeat查询在angularjs中显示我的查询对象

时间:2014-11-30 22:59:54

标签: angularjs api odata

我试图找出如何从Entity Framework表中显示公司列表。我使用odata,它目前适用于getById并手动传递id。但是,当我使用getAll()方法来抓住所有公司时,我无法让它发挥作用。在我的HTML中,我在选择下拉菜单中使用了类似的内容:ng-repeat ="公司中的公司" {{company.CompanyName}}。当我这样做时,我得到的就像是两个空白的选择,没有任何名字。有人可以给我一些建议吗?

这是我的控制者:

'use strict';

define(['app', 'js/services/companies'], function (app) {

    var register = app.register || app;

    register.controller('companyUpdateIndexCtrl', ['$scope', 'companies', function ($scope, companies ) {

            companies.getById(2932).success(function (data) {
            $scope.company = data;
        }).error(function (data) {
            //handle error
        });
            $scope.companies = companies;
            companies.getAll().success(function (data) {
                $scope.all = data;
            }).error(function (data) {

            });
    }]);

});

这是我的HTML:

<div data-ng-controller="companiesIndexCtrl">
<div><label style="padding-right:25px">Select a Company</label>
    <select ng-model="companies.CompanyName">
        <option ng-repeat="x in companies">{{x.CompanyName}}</option>
    </select>

我的api功能:

    api.prototype.getAll = function (data) {
        return dataService.get(this.baseUrl + odata.queryString(data));
    };

使用api功能:

'use strict';

define(['app', 'js/services/api'], function (app) {

    var register = app.register || app;

    register.factory('companies',  ['api', function (api) {

        var Companies = new api('Companies');
        return Companies;
    }])

});

0 个答案:

没有答案