Questions tagged «knockout.js»

Knockout.js是使用模型-视图-视图模型(MVVM)模式的动态HTML UI的开源JavaScript库。

4
您可以调用ko.applyBindings绑定部分视图吗?
我正在使用KnockoutJS并具有主视图和视图模型。我想要一个对话框(jQuery UI)弹出另一个视图,该视图将绑定到一个单独的子视图模型。 对话框内容的HTML使用AJAX检索,因此我希望能够ko.applyBindings在请求完成后调用,并且我希望将子视图模型绑定到对话框div中通过Ajax加载的HTML的一部分。 这实际上可行吗,还是在页面最初加载后调用ko.applyBindings一次时需要加载所有视图和视图模型?
257 ajax  html  knockout.js 

1
Meteor,Ember.js和Backbone.js之间的主要区别是什么?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意测验或进一步的讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 学习Ember.js / Backbone.js已经有一段时间了。既然Meteor已经问世,我想知道是否有任何拥有Meteor,Ember.js和Backbone.js经验的人可以总结这三个JavaScript框架对于一个没有任何经验的人的优缺点。 具体来说,我想知道每个框架更适合哪些任务,以及为什么其他框架不适合。 编辑:现在,我阅读了更多有关Meteor的内容,似乎与Knockout.js而不是Backbone.js更加相似。因此,也欢迎与Knockout.js进行任何比较。

2
得到“ JSON请求太大,无法反序列化”
我收到此错误消息: JSON请求太大,无法反序列化。 这是发生这种情况的情况。我有一类国家,其中包含该国的运输港口清单 public class Country { public int Id { get; set; } public string Name { get; set; } public List<Port> Ports { get; set; } } 我在客户端使用KnockoutJS进行级联下拉菜单。因此,我们有两个下拉列表,第一个下拉列表是国家/地区,第二个下拉列表是该国家/地区的港口。 到目前为止,一切正常,这是我的客户端脚本: var k1 = k1 || {}; $(document).ready(function () { k1.MarketInfoItem = function (removeable) { var self = this; self.CountryOfLoadingId …

5
KnockOutJS-单个视图中有多个ViewModel
我在想我的应用程序现在变得很大,太大了,无法使用单个ViewModel处理每个View。 所以我想知道创建多个ViewModels并将它们全部加载到一个View中会有多么困难。需要注意的是,我还需要能够将X ViewModel数据传递到Y ViewModel数据,以便各个ViewModel能够相互通信或至少彼此了解。 例如,我有一个<select>下拉列表,该select下拉列表具有selected状态,该状态使我可以将中的所选项目的ID传递<select>给单独的ViewModel ... 中的另一个Ajax调用。 在单个视图中处理大量ViewModel的任何观点都表示赞赏:)

11
如何调试KnockoutJS的模板绑定错误?
我一直在调试KnockoutJS模板中的问题时遇到麻烦。 假设我想绑定到名为“ items” 的属性,但是在模板中输入错误并绑定到(不存在的)属性“ item”。 使用Chrome调试器只会告诉我: "item" is not defined. 是否有工具,技术或编码风格可以帮助我获得有关绑定问题的更多信息?

2
声明为对象文字和函数的敲除视图模型之间的区别
在淘汰赛js中,我看到视图模型声明为: var viewModel = { firstname: ko.observable("Bob") }; ko.applyBindings(viewModel ); 要么: var viewModel = function() { this.firstname= ko.observable("Bob"); }; ko.applyBindings(new viewModel ()); 两者之间有什么区别(如果有)? 我的确在Google淘汰赛google组上找到了此讨论,但实际上并没有给我令人满意的答案。 我可以看到一个原因,想用一些数据来初始化模型,例如: var viewModel = function(person) { this.firstname= ko.observable(person.firstname); }; var person = ... ; ko.applyBindings(new viewModel(person)); 但是,如果我不这样做,那么选择哪种样式有关系吗?

4
如何使Knockout JS在按键上进行数据绑定而不是失去焦点?
这个敲除js的示例起作用,因此,当您编辑字段并按TAB时,视图模型数据以及字段下方的文本将更新。 如何更改此代码,以便每次按键时更新视图模型数据? <!doctype html> <html> <title>knockout js</title> <head> <script type="text/javascript" src="js/knockout-1.1.1.debug.js"></script> <script type="text/javascript"> window.onload= function() { var viewModel = { firstName : ko.observable("Jim"), lastName : ko.observable("Smith") }; viewModel.fullName = ko.dependentObservable(function () { return viewModel.firstName() + " " + viewModel.lastName(); }); ko.applyBindings(viewModel); } </script> </head> <body> <p>First name: <input data-bind="value: firstName" …

8
是否可以将数据绑定绑定到布尔型ViewModel属性的取反(“!”)?
我想在ViewModel上使用一个属性来切换要显示的图标,而无需创建单独的逆属性。这可能吗? <tbody data-bind="foreach: periods"> <tr> <td> <i class="icon-search" data-bind="visible: !charted, click: $parent.pie_it"></i> <i class="icon-remove" data-bind="visible: charted, click: $parent.pie_it"></i> </td> </tr> </tbody> 我的ViewModel具有一个属性周期,它是一个月数组,如下所示: var month = function() { this.charted = ko.observable(false); };
162 knockout.js 

3
如何强制视图刷新而不使其从可观察对象自动触发?
注意:这主要是为了调试和了解KnockoutJS。 有没有一种方法可以明确地要求Knockout从(已绑定的)视图模型刷新视图?我正在寻找类似的东西: ko.refreshView(); 我知道这不是Knockout的预期用途,但是我仍然想知道是否有这样的方法用于调试和学习。
151 knockout.js 

6
带KnockoutJS的TypeScript
是否有将TypeScript与KnockoutJS一起使用的示例?我只是好奇他们如何一起工作? 编辑 这是我所拥有的,似乎可以正常工作 declare var ko: any; declare var $: any; class ViewModel { x = ko.observable(10); y = ko.observable(10); } $(() => { ko.applyBindings(new ViewModel()); }); 这将生成以下Javascript: var ViewModel = (function () { function ViewModel() { this.x = ko.observable(10); this.y = ko.observable(10); } return ViewModel; })(); $(function () { …

12
等效于C#LINQ Select的Javascript
在这里跟随这个问题: 在淘汰表中使用选中的绑定和复选框列表会检查所有复选框 我使用敲除创建了一些复选框,这些复选框允许从数组中进行选择。从上方帖子中提取的工作提琴: http://jsfiddle.net/NsCXJ/ 是否有一种简单的方法来创建仅水果ID的数组? 我在C#上更在家,我会按照 selectedFruits.select(fruit=>fruit.id); 是否有一些方法/现成的函数可以执行与javascript / jquery类似的操作?还是最简单的选择是遍历列表并创建第二个数组?我打算以JSON格式将数组发布回服务器,因此我试图将发送的数据最小化。

13
jQuery UI datepicker更改事件未被KnockoutJS捕获
我正在尝试将KnockoutJS与jQuery UI结合使用。我有一个附有日期选择器的输入元素。我目前正在跑步knockout.debug.1.2.1.js,而且变更事件似乎从未被淘汰赛捕获。该元素如下所示: <input type="text" class="date" data-bind="value: RedemptionExpiration"/> 我什至尝试更改valueUpdate事件类型,但无济于事。Chrome似乎focus在更改值之前就引发了一个事件,但是IE却没有。 是否存在一些“重新绑定所有绑定”的淘汰方法?从技术上讲,我只需要更改值,然后再将其发送回服务器即可。所以我可以接受这种解决方法。 我认为问题出在日期选择器的问题上,但我不知道该如何解决。 有任何想法吗?

3
如何与ASP.NET MVC ViewModels一起使用Knockout.js?
赏金 已经有一段时间了,我仍然有几个悬而未决的问题。我希望通过悬赏,也许这些问题会得到解答。 您如何将Knockout.js与html助手一起使用 为什么需要准备好文档才能使其正常工作(有关更多信息,请参见第一个编辑) 如果我在视图模型中使用基因剔除映射,该怎么做?由于映射,我没有功能。 function AppViewModel() { // ... leave firstName, lastName, and fullName unchanged here ... this.capitalizeLastName = function() { var currentVal = this.lastName(); // Read the current value this.lastName(currentVal.toUpperCase()); // Write back a modified value }; 我想使用插件,例如,我希望能够回滚observables,就好像用户取消了一个我希望能够返回到上一个值的请求一样。根据我的研究,这似乎是通过制作可编辑的插件来实现的 如果我正在使用映射,该如何使用类似的东西?我真的不想要一种方法,在我的视图手动映射中,我将每个MVC viewMode字段映射到KO模型字段,因为我需要尽可能少的内联javascript,这似乎是工作量的两倍,那是为什么我喜欢那种映射。 我担心要使此工作容易进行(通过使用映射),我会失去很多KO功能,但另一方面,我担心手动映射会很繁重,并且会使我的视图包含太多信息,并且将来可能会变得更难维护(例如,如果我删除了MVC模型中的属性,那么我也必须在KO视图模型中移动它) 原始帖子 我正在使用asp.net mvc 3,我正在研究淘汰赛,因为它看起来很酷,但是我很难弄清楚它如何与asp.net mvc一起工作,尤其是视图模型。 现在对我来说,我做这样的事情 public …

6
twitter bootstrap自动完成下拉列表/带有Knockoutjs的组合框
我有一个必须使用引导程序自动完成下拉菜单的要求,但是用户可以根据需要在该下拉菜单中使用自由格式的文本。在考虑TypeAhead之前,我可以使用Bootstrap TypeAhead文本框,但是我需要具有下拉菜单,因为我们希望提供一些默认值作为headstart选项,以防用户不知道要搜索什么。 我在MVC DropDownListFor中使用它,因为它为我们创建了一个选择控件。 我发现这篇文章为我做到了。 https://github.com/danielfarrell/bootstrap-combobox/pull/20 我要做的就是从选择控件中删除名称,而该控件让我输入自由格式的文本。到目前为止一切都很好。 现在,我将其与Knockoutjs结合使用。我将选项和选择的值绑定到选择控件,然后在呈现模板的行上调用(selector).combobox(),这使选择控件成为自举式组合框,并添加了输入控件并将选择控件隐藏在场景中背后。 现在的问题是,当我尝试获取要发送到服务器的值时,由于我在输入框中输入的值不是我为选择控件提供的选项中的有效选项,因此默认情况下始终将其设置为第一个选项。这是因为,我将所选值的绑定设置在选择控件上,而不是在bootstrap-combobox.js创建的输入框上。 我的问题是如何使输入框与选择控件绑定到的数据绑定到相同的属性。 还有其他选择吗?让我知道您是否需要进一步说明或有任何疑问。请提出建议。 谢谢。

2
何时使用ko.utils.unwrapObservable?
我已经使用KnockoutJS编写了一些自定义绑定。我仍然不确定何时使用ko.utils.unwrapObservable(item)看代码,该调用基本上会检查是否item可观察到。如果是,则返回value(),如果不是,则仅返回值。查看有关创建自定义绑定的淘汰赛部分,它们具有以下语法: var value = valueAccessor(), allBindings = allBindingsAccessor(); var valueUnwrapped = ko.utils.unwrapObservable(value); 在这种情况下,它们通过调用observable,()然后又调用ko.utils.unwrapObservable。我只是试图掌握何时使用一个与另一个的关系,或者是否应该始终遵循上述模式并同时使用两者。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.