从 angular 调用 breeze - 服务或控制器 - 请使用语法
calling breeze from angular - service or controler - syntax please
我有一个 angular 项目。我正在制作一个 html/angular 表单 - 通过 $http get 在 angular 中的服务中从存储过程中获取数据。现在我想在我的 html 表单中的过滤器中对一些下拉列表进行数据绑定。我在一个视图中有数据,我为它制作模型并添加到 entity framework。我应该如何在 angular 中调用此 breeze?请代码示例?在服务中还是在控制器中?
------这是我试过的--------------
我在这里做错了什么? (可能有一些事情......我是 angular 的新手。然后我只想能够在我的 ng-model 或其他东西中以某种方式调用这个函数 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
};
}]);
--------------------------------这就是我现在拥有的......
好的,这就是我现在所拥有的。这发生在我所有 breeze 调用所在的 js 文件中。你能确认我的语法是否正确以及我的函数在我的工厂中的语法应该如何(以及我的语法在我的控制器中应该如何...)
function GetStyles() { return breeze.EntityQuery .from("v_Style") .using(manager) .execute(); }
@LisaSolomon,关于你的语法:
function GetStyles() {
return breeze.EntityQuery
.from("v_Style")
.using(manager)
.execute();
}
根据我掌握的信息看起来不错。如果它不起作用,我会确保:
- 控制器具有正确定义的 v_Style 操作,并且
- 管理器已定义且具有正确的服务名称
因此,假设这是正确的,您需要将它添加到返回的对象中,以便它在您的控制器中可用:
return {
SalesStatus: SalesStatus,
GetStyles: GetStyles
};
然后要在您的控制器中使用它,您需要引用 promise 的 .then()
$scope.styles = '';
sellingService.GetStyles().then(function(data) {
$scope.styles = data.results;
}).catch(function(err) {
// error processing
});
您收到的任何错误消息都会有所帮助。如果您有机会展示控制器和视图代码,以便我们构建一个 fiddle,那也很棒。
我有一个 angular 项目。我正在制作一个 html/angular 表单 - 通过 $http get 在 angular 中的服务中从存储过程中获取数据。现在我想在我的 html 表单中的过滤器中对一些下拉列表进行数据绑定。我在一个视图中有数据,我为它制作模型并添加到 entity framework。我应该如何在 angular 中调用此 breeze?请代码示例?在服务中还是在控制器中?
------这是我试过的--------------
我在这里做错了什么? (可能有一些事情......我是 angular 的新手。然后我只想能够在我的 ng-model 或其他东西中以某种方式调用这个函数 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
};
}]);
--------------------------------这就是我现在拥有的...... 好的,这就是我现在所拥有的。这发生在我所有 breeze 调用所在的 js 文件中。你能确认我的语法是否正确以及我的函数在我的工厂中的语法应该如何(以及我的语法在我的控制器中应该如何...)
function GetStyles() { return breeze.EntityQuery .from("v_Style") .using(manager) .execute(); }
@LisaSolomon,关于你的语法:
function GetStyles() {
return breeze.EntityQuery
.from("v_Style")
.using(manager)
.execute();
}
根据我掌握的信息看起来不错。如果它不起作用,我会确保:
- 控制器具有正确定义的 v_Style 操作,并且
- 管理器已定义且具有正确的服务名称
因此,假设这是正确的,您需要将它添加到返回的对象中,以便它在您的控制器中可用:
return {
SalesStatus: SalesStatus,
GetStyles: GetStyles
};
然后要在您的控制器中使用它,您需要引用 promise 的 .then()
$scope.styles = '';
sellingService.GetStyles().then(function(data) {
$scope.styles = data.results;
}).catch(function(err) {
// error processing
});
您收到的任何错误消息都会有所帮助。如果您有机会展示控制器和视图代码,以便我们构建一个 fiddle,那也很棒。