angularjs - 如果不存在, Breeze 获取元数据

标签 angularjs breeze asp.net-web-api

我有一个 angular/breeze/webapi 应用程序,它工作得很好,除非我刷新一个有 EntityQuery 的页面来返回一个实体。然后它提示元数据不可用,因为实体查询不会触发元数据获取,这与标准查询不同。

如果我们从前一个触发了标准 breeze 查询的 Angular 页面到达了该页面,那么元数据已经存在,我们没有问题。

那么问题是,我如何检查元数据是否存在并在元数据调用尚未完成时触发元数据调用?

非常感谢您能给我的任何帮助。

最佳答案

尝试这样的事情:

function fetchMetadata() {
    var manager = new breeze.EntityManager("api/breeze");
    if (manager.metadataStore.isEmpty()) {
        return manager.fetchMetadata();
    }

    return Q.resolve();
}

function start() {
     fetchMetadata().then(function () {
            // Metadata fetched.
            // Do something here.
     });
}

关于angularjs - 如果不存在, Breeze 获取元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19245790/

相关文章:

css - 在 AngularJs 中创建选项卡

javascript - 单击指令时图像中的 Angular 淡入淡出

breeze - 能否在属性更改时验证新创建的实体,而不是在保存时

asp.net-mvc-4 - MVC4 WebAPI 拒绝无效的枚举值

ajax - Rest API - 405 方法不允许

javascript - Protractor id 点击不起作用

javascript - ngRoute 导致 AngularJS 中的黑屏?

breeze - 替代Breeze.js?

c# - Breeze executeQuery 成功但返回空对象

c# - 在项目扩展中使用 Msbuild 变量