- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个使用 breeze js、angular js、web API、 Entity Framework 等的移动单页网站。
为了优化网站,我将 breeze 元数据包含在捆绑的 JavaScript 中,该 JavaScript 包含网站所需的所有其他 JavaScript。理想情况下,我希望浏览器只请求 index.html,它应该包含应用程序运行所需的所有内容,包括捆绑和缩小的内联样式和 JavaScript。
但是,正如 Breeze 元数据对于站点的运行非常重要并因此嵌入到捆绑的 JavaScript 中一样,还必须存在一个必需的复杂实体(对其他一些实体具有一些深度导航属性)使网站功能齐全。我也想在捆绑的 JavaScript 中嵌入这个实体和它引用的所有实体。我该怎么做?
我始终可以创建一个 JSON 字符串来表示该实体及其引用的所有实体。然后将该 JSON 字符串与其他字符串一起嵌入到捆绑的 JavaScript 中。但是,如何使用我在 JavaScript 中嵌入的实体 JSON 字符串轻松地将这个复杂的实体导入到 breeze 实体系统中?或者是否有更好的解决方案来预加载具有复杂实体的 breeze 实体系统,而无需从服务器发出对该实体的请求?
我还想避免编写服务器代码来吐出在客户端创建实体的 JavaScript。
最佳答案
最简单的方法是对 EntityManager.createEntity 调用使用“initializer”参数。
见 http://www.breezejs.com/documentation/creating-entities和 http://www.breezejs.com/sites/all/apidocs/classes/EntityManager.html#method_createEntity
这个调用看起来是这样的。
myEntityManager.createEntity("Employee", { lastName: Smith", firstName: "John" });
所以在你的情况下你可以尝试:
var initialValues = JSON.parse(json);
myEntityManager.createEntity("Employee", initialValues);
根据您的用例,您可能还想设置这个新创建的实体的“entityState”。
关于javascript - Breeze js - 如何从 JSON 字符串创建实体并将其导入 breeze 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23530234/
我是一名优秀的程序员,十分优秀!