从角度调用微风 - 服务或控制器 - 语法请

时间:2016-01-27 19:45:55

标签: angularjs entity-framework breeze

我有一个有角度的项目。我正在制作一个html / angular形式 - 通过$ http获取存储过程中的数据获取角度服务。现在我想在我的过滤器中对这个html表单中的一些下拉列表进行数据绑定。我在视图中有数据,我为实体框架制作了模型并添加到实体框架中。我怎么能以棱角分明的方式打电话给这个微风?代码示例好吗?在服务中还是在控制器中?

------这就是我所尝试的--------------

我在这里做错了什么? (可能是一些事情......我对角度很新。然后我只是想能够以某种方式将这个函数称为我的ng模型中的populatestyleddl或者什么......

.factory('sellingService', ['$filter', '$http', function ($filter, $http) {


    function PopulateStyleDDL() {
        return breeze.EntityQuery.fromEntityNavigation('v_Style')
        .using(context.manager).execute();
    };
//check if above function is legal

    function SalesStatus(filter) {

        console.log(breeze);

        return $http({
            method: 'GET',
            url: '/Services/SalesStatus',
            params: { filter.itemStyle }
        }).then(function (result)
        { return result.data; })
    }
    return {
        SalesStatus: SalesStatus

    };





}]);

--------------------------------这里有我现在拥有的..... 好的,这就是我现在所拥有的。这发生在我所有微风调用的js文件中。你能否确认我的语法是否正确以及我的函数在语法上应该如何看待我的工厂(以及我的语法在我的控制器中的外观......)

function GetStyles() { return breeze.EntityQuery .from("v_Style") .using(manager) .execute(); }

1 个答案:

答案 0 :(得分:0)

@LisaSolomon,关于你的语法:

function GetStyles() { 
    return breeze.EntityQuery 
               .from("v_Style") 
               .using(manager) 
               .execute(); 
}

我的信息看起来不错。如果它不起作用我会确定:

  1. 控制器具有正确定义的v_Style操作,
  2. 管理员已定义且具有正确的服务名称
  3. 因此,假设这是正确的,您需要将它添加到您返回的对象,以便它在您的控制器中可用:

    return {
        SalesStatus: SalesStatus,
        GetStyles: GetStyles
    };
    

    然后要在你的控制器中使用它,你需要引用promise的.then()

    $scope.styles = '';
    sellingService.GetStyles().then(function(data) {
        $scope.styles = data.results;
    }).catch(function(err) {
       // error processing
    });
    

    您收到的任何错误消息都会有所帮助。如果你有可能展示控制器和查看代码,那么我们可以建立一个小提琴,那也很棒。