标签: breeze

将BreezeJS与AngularJS一起使用时出错

将BreezeJS与AngularJS一起使用会产生错误.例如,在ng-repeat中使用'filter'时,控制台会报告:堆栈空间不足.

重现步骤

  1. 参加Todo-Angular BreezeJS样本并在VS 2012中打开.
  2. 在index.html之前添加 <ul>


    <div>
    <input ng-model="query" type="search" placeholder="search" />
    </div>

Run Code Online (Sandbox Code Playgroud)
  1. 将以下代码添加到li元素的data-ng-repeat中


    <li data-ng-repeat="item in items | filter:query">

Run Code Online (Sandbox Code Playgroud)

过滤器:查询应根据输入中的文本过滤列表,但不会.在IE 10中,控制台报告"用完堆栈空间".在Chrome中,控制台报告"范围错误":

(anonymous function) angular.js:5582
(anonymous function) angular.js:4679
Scope.$digest angular.js:7739
Scope.$apply angular.js:7926
listener angular.js:11228
v.event.dispatch jquery-1.8.3.min.js:2
o.handle.u
Run Code Online (Sandbox Code Playgroud)

当你使用angular.copy(src,dest); 其中src是由BreezeJS创建的,我看到另一个stack_overflow错误.

angularjs breeze

1
推荐指数
1
解决办法
1655
查看次数

Breeze.js WebApi OData和Durandal

我正在尝试使用Durandal,Breeze和淘汰赛来实现WebApi OData.但我总是低于错误:

无法初始化OData.需要支持远程OData服务

我创建了一个视图模型:

var my = {}; //my namespace
$(function () {
    var serverAddress = "/odata/";
    breeze.config.initializeAdapterInstances({ dataService: "OData" });
    var manager = new breeze.EntityManager(serverAddress);

    my.vm = {
        customers: ko.observableArray([]),
        load: function () {
            var query = breeze.EntityQuery.from("Customers");
            manager.executeQuery(query, function (data) {
                var results = data.results;
                $.each(data.results, function (i, c) {
                    my.vm.customers.push(c);
                });
            });
        }
    }

    my.vm.load();
    ko.applyBindings(my.vm);
});
Run Code Online (Sandbox Code Playgroud)

在BreezWebApiConfig中提到:

public static void RegisterBreezePreStart() {
  GlobalConfiguration.Configuration.Routes.MapHttpRoute(
    name: "BreezeApi",
    routeTemplate: "api/{controller}/{action}"
  );
}
Run Code Online (Sandbox Code Playgroud)

并注册WebApi:

public static void Register(HttpConfiguration config)
{ …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-web-api knockout.js breeze durandal

1
推荐指数
1
解决办法
1497
查看次数

元数据查询失败:Breeze JS

我正在使用ASP.net Web Api开发Breeze JS To Dos应用程序.当我向资源请求时,我得到"元数据查询失败:odata/Todos/Metadata; NaN".但是,当我手动请求/ odata/Todos/Metadata时,它工作正常.你有什么想法吗?

javascript asp.net-web-api knockout.js breeze

1
推荐指数
1
解决办法
3498
查看次数

使用OData和IQueryable的风险

我已经看过许多关于制作SPA(单页面应用程序)的教程,其中许多都使用了外部库,如breezejs和jaydatajs,以获得自动数据服务层.

这些库期望我将公开他们可以查询的IQueryable对象.

我的问题是,从服务器中暴露出IQueryable的风险是什么?我想知道如果用这些js库制作这个快捷方式值得,或者我应该在服务器中公开我自己的函数并在客户端自己实现dataservice.

问题是,当暴露Iqueryable时,我可以使用breezejs来创建用于使用linq like语法进行过滤和分页的查询.如果我不使用它,我将不得不在服务器中实现这些过滤和分页功能.并在javascript中实现对它们的调用.

我希望我很清楚:-)

javascript linq iqueryable odata breeze

1
推荐指数
1
解决办法
1108
查看次数

Breeze BeforeSaveEntities:如何修改savemap

我从关于BeforeSaveEntities的Breeze文档中读到以下内容:

"可以在此方法返回的地图中添加或删除实体".

所以我想我可以在saveMap中添加一个新的EntityInfo实例.我的问题是:我该怎么做?在任何地方都有这样的例子吗?

我可以完美地遍历字典.但是因为EntityInfo没有构造函数,并且它的所有字段都只是get,所以我觉得有点卡在这里.欢迎任何帮助.

谢谢

breeze

1
推荐指数
1
解决办法
1629
查看次数

微风和Internet Explorer 8问题

我刚刚开始学习SPA应用程序,我在IE8上运行它时遇到问题.我正在使用mvc4和EF.该应用程序使用durandal构建.

我使用的是jquery 1.10,因为jquery 2在IE 8上不起作用.

基本上我得到的错误是

'Unhandled exception at line 786, column 9 in http://localserver/scripts/breeze.debug.js

0x800a01b6 - Microsoft JScript runtime error: Object doesn't support this property or method'.
Run Code Online (Sandbox Code Playgroud)

该应用程序在Firefox和Chrome上运行良好.

asp.net-mvc-4 single-page-application breeze

1
推荐指数
1
解决办法
1328
查看次数

BreezeJS和Entity Framework 6.0.1

我正在尝试创建一个Breeze Web API控制器,我想知道是否可以使用Visual Studio 2013附带的默认MVC/Web API项目模板.通过Nuget数据包管理器更新所有内容安装Entity Framework 6.0.1.尝试安装Breeze后会尝试将EF 5作为依赖项进行安装,但由于模板的其他部分依赖于EF6,这是不可能的.我们是否必须等待适用于EF6的新版Breeze?

编辑:我想使用[BreezeController]和Odata这样做"微风".

entity-framework breeze entity-framework-6

1
推荐指数
1
解决办法
2309
查看次数

breeze bug:forDeach循环中的setDeleted

我遇到了我认为是Breeze中的一个bug.为了确保错误与我项目中的其他代码无关,我在Ward Bell提供的一个plunker中模拟了同样的问题.

我添加到Ward的原始plunker的代码是:

在main.html中

<button ng-click="vm.deleteHero(vm.currentHeroVm.hero)">Delete hero</button>
Run Code Online (Sandbox Code Playgroud)

并在main.js

vm.deleteHero = deleteHero;
    function deleteHero(hero) {
      console.log(hero.powerMaps.length);
      hero.powerMaps.forEach(function(powerMap) {
        console.log('Hero: ' + powerMap.heroId + ', Power: ' + powerMap.powerId);
        powerMap.entityAspect.setDeleted() // comment me out to see console.log work correctly
  });
}
Run Code Online (Sandbox Code Playgroud)

要看到手头的问题,请注意console.log我正在制作的电话.第一个显示powerMaps所选英雄的数组长度.第二个显示循环内powerMap的英雄和幂id.

有了hero选择,打开控制台窗口,并击中Delete按钮.

如果有人注释掉该行powerMap.entityAspect.setDeleted(),则应用程序会正确地遍历每行powerMap.

但是,只要powerMap.entityAspect.setDeleted()添加到代码中,就不会powerMap达到每个代码.

这意味着我目前无法可靠地遍历数组并删除实体.你会注意到,如果你继续点击删除按钮,代码最终会到达所有实体.

有什么想法吗?

breeze

1
推荐指数
1
解决办法
354
查看次数

我如何编写一个等效于以下SQL的breeze Predicate

SELECT 
    * 
FROM
    Table
WHERE 
  FirstName = 'Wilson' 
  AND (START_DATE = '1/1/2014' OR START_DATE > '1/2/2014')
Run Code Online (Sandbox Code Playgroud)

sql breeze

1
推荐指数
1
解决办法
287
查看次数

客户端的实体是否反模式?

我之前使用过RIA服务,现在正在测试Breeze Sharp.

RIA以及Breeze给人的印象是,您在服务器/中间层看到的内容就是您在客户端上看到的内容.为了支持这一点,术语Entity正在客户端和服务器上使用.它真的是一个实体,还是它真的是客户端上的表示模型或模型?

对于具有一个或两个级别实体图的较小系统,可能没有错误认为客户端和服务器是相同的.对于图表深入五到六个级别的大型系统,需要将实体转换为DTO以使其变得简单.除非UI具有一些实体的CRUD屏幕,否则大型应用程序最终会有更多的DTO和更少的实体.大多数情况下,这些DTO将代表用户界面想要的东西,并且等同于演示模型.

为什么我们不能将客户端处理的内容视为表示模型而不是实体?

ria breeze breeze-sharp

1
推荐指数
1
解决办法
535
查看次数