问题标签 [knockout-mvvm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1947 浏览

knockout.js - 结合 MVVM 和移动 UI 框架与 Breeze 一起使用

我已经使用 Breeze/knockout 组合有一段时间了,总体上非常满意。Twitter Bootstrap 在试验时是一个合适的 UI 占位符,但现在是时候专注于 UI(移动网络应用程序)了,我遇到了一个让我在其他地方寻找的问题(也就是说,除了淘汰赛)。我在淘汰赛中遇到的问题与无法/难以集成现有的 UI 组件/小部件有关。

问题是大多数这些小部件/框架/库(如 jquery mobile)操纵 DOM 以完成它们正在做的事情。这与 Knockout 冲突。

所以我转向了 Angular(我更喜欢它的绑定语法),我再次开始了我的探索。嗯...同样的问题。尽管有人编写了 Angular/Jquery Mobile 适配器,但我不愿意依赖它与新版本的 jquery mobile 保持同步。此外,我使用 jquery mobile 的次数越多,我就越不喜欢它。它似乎更适合移动网站而不是网络应用程序,我发现自己想要更换它的导航路由器等等。有趣的是,与此同时(就在几天前),我注意到最新版本的 Breeze 中的 Angular ToDo 演示。

Angular Breeze 演示让我想到我应该尝试 Breeze 与 Kendo UI,我并不特别关心它的 MVVM 实现,但它的 UI 非常精致。由于没有官方支持,我没有花太多时间在这上面,毫不奇怪,我遇到了问题。

所以,我的问题:

Breeze 会与 Kendo UI MVVM 一起使用吗?如果是,我们谈论的是几天、几周还是几个月?如果没有,关于如何解决实际问题的任何想法可以总结如下:

Breeze: 我知道没有其他方法可以解决上述问题。

MVVM:哪种实现将与 Breeze 和可靠的 UI 库(在我的情况下为移动设备)一起使用?

UI:哪个专业质量的 UI 库可以与 MVVM 实现一起使用,也可以与 Breeze 一起使用?

顺便说一句,在我寻求答案的过程中,我遇到了以下问题:

http://feedback.kendoui.c​​om/forums/127393-kendo-ui-feedback/suggestions/3247342-integrate-with-breeze-js

0 投票
1 回答
1229 浏览

javascript - 使用淘汰赛的端到端 MVVM (javascript)

我是 MVVM 的新手,我想了解,如果您在后端有一个模型,比如说 ac# 库,它正在从数据库或任何其他服务中获取数据。模型将如何通知视图模型。我了解在 MVVM INotifyprovier 中为 WPF 执行此操作(只是在某处阅读),但是基于 Web 应用程序的场景怎么样,java-script 中的 Viewmodel 是否总是必须 ping 模型以识别模型中是否有更改,然后传播到用户界面。我假设视图模型总是必须以 10 分钟左右的设置间隔将 Ajax 请求发送到 asmx 或 api(只是一个示例)。这就是它端到端的工作方式。任何例子都会很棒。

因为其中一个属性是自动 UI 刷新,所以我假设需要定期从服务器询问新数据。我在网上看到的很多例子只是 ViewModel 和 View 之间的交互,但我几乎看不到 Model、ViewModel 和 View 结合在一起的任何东西。

我可以认为,如果使用 SignalR 从服务器向客户端发送 ping,则可以更新 Viewmodel 并因此更新 View。

但是,如果每次您需要从 Sever 询问一组新数据,那么 Knockout 的炒作是怎么回事,Jquery 已经这样做了一段时间,除了声明性绑定的东西,在淘汰赛库中。

感谢有人可以纠正我。

谢谢

0 投票
1 回答
1255 浏览

knockout.js - 淘汰赛、剑道树视图、mvvm、HierarchicalDataSource:无法获取属性“toLowerCase”的值

我正在尝试使用视图模型填充我的树视图:

视图模型:

看法:

错误:

无法获取属性“toLowerCase”的值

摘要:如果我使用静态 json 数据,使用这种剔除方法,我可以填充一棵树

0 投票
1 回答
972 浏览

knockout.js - 无法在 knockout.js mvvm 中访问 viewmodel 中的可观察数组来操作项目

我正在使用 Knockout.js、require.js 等开发 MVVM Web 应用程序。问题是我无法访问视图模型中属性(可观察数组类型)中的项目。

样本合同模型:

示例视图模型:

示例视图:

我需要在 viewmodel 中访问的是contract.shoppingItems,我得到的只是未定义的。

0 投票
1 回答
176 浏览

knockout.js - 强制淘汰计算 observableArray 的长度为 1(一)

我有一个computed observableArray被调用者,它从另一个被调用者selectedToppings返回过滤后的数据。 应该返回所有属性设置为的浇头。在某些情况下,只能选择一种浇头,例如客户订购儿童大小的冰淇淋时。这是我的代码。observableArraytoppingsselectedToppingsobservableselectedtrue

也在jsfiddle上。

availableToppings如果应该遵循它,我正在使用订阅来强制执行单顶规则。此实现不起作用,我不知道如何修复它。

什么不起作用:

  1. 确保未选中多选。
  2. 单击可用洒水。
  3. 单击可用的棉花糖。
  4. 单击可用的坚果。
  5. 单击可用洒水。
  6. 注意选择是如何没有改变的。
0 投票
1 回答
55 浏览

javascript - 如何从输入字段中获取值并将其分配给视图模型中的 JavaScript 对象?

我需要使用淘汰赛 js 创建一个简单的评论框(就像 facebook 评论一样)。我是 KO 的新手,我试图搜索,但我似乎找不到那个愚蠢问题的答案。我会花更多的时间,但我需要尽快完成我的作业。所以这是我的 HTML:

这是JS:

那么我应该在commentText的地方写什么:“新评论”