Tag: knockout.js

jQuery UI datepicker更改事件没有被KnockoutJS捕获

我试图用jQuery UI使用KnockoutJS。 我有一个附带dateselect器的input元素。 我目前正在运行knockout.debug.1.2.1.js ,似乎改变事件从来没有被捕获。 元素看起来像这样: <input type="text" class="date" data-bind="value: RedemptionExpiration"/> 我什至试图改变valueUpdate事件types,但无济于事。 Chrome好像在它改变值之前引起一个focus事件,但是IE没有。 是否有一些“重新绑定所有绑定”的Knockout方法? 我在技术上只需要将值发送回服务器之前更改的值。 所以我可以忍受这种解决方法。 我认为问题是dateselect器的错,但我不知道如何解决这个问题。 有任何想法吗?

TypeScript与KnockoutJS

有KnockoutJS使用TypeScript的样本吗? 我只是好奇他们将如何一起工作? 编辑 这是我的,似乎工作 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 () { ko.applyBindings(new ViewModel()); });

是否有可能数据绑定可见的布尔ViewModel属性的否定(“!”)?

我想使用我的ViewModel属性来切换显示哪个图标,而不创build一个单独的计算属性的逆。 这可能吗? <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); };

如何强制一个视图刷新,而不会从一个可观察的事件自动触发?

注意:这主要是为了debugging和理解KnockoutJS。 有没有办法显式地请求Knockout刷新视图(已经绑定)视图模型? 我正在寻找像这样的东西: ko.refreshView(); 我明白,这不是Knockout的预期用途,但我仍然想知道是否有这样的方法来debugging和学习的目的。

我怎样才能得到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" /></p> <p>Last name: <input data-bind="value: […]

如何debuggingKnockoutJS的模板绑定错误?

在KnockoutJS模板中,我一直遇到debugging问题。 说我想绑定到一个名为“ items ”的属性,但在模板中,我犯了一个错字,并绑定到(不存在)属性“ item ”。 使用Chromedebugging器只告诉我: "item" is not defined. 有没有工具,技术或编码风格可以帮助我获得有关绑定问题的更多信息?

meteor,Ember.js和Backbone.js之间的主要区别是什么?

学习Ember.js / Backbone.js一直在我的待办事项列表中。 现在meteor出来了,我只是想知道有没有meteor,Ember.js和Backbone.js经验的人能够总结一下这三个JavaScript框架的主要区别和优缺点。 具体来说,我想知道每个框架更适合哪个任务,为什么其他的不是。 编辑:现在我读了更多关于meteor,它似乎更类似于Knockout.js而不是Backbone.js。 因此,与Knockout.js的任何比较也是受欢迎的。

你可以调用ko.applyBindings绑定一个局部视图?

我使用KnockoutJS,并有一个主视图和视图模型。 我想要一个对话框(jQuery UI的一个)popup与另一个视图,一个单独的子视图模型将被绑定到。 对话框内容的HTML是使用AJAX检索的,所以我希望能够在请求完成后调用ko.applyBindings ,并且我想将子视图模型绑定到通过对话框div中的ajax加载的HTML部分。 这实际上是可能的,或者我需要加载所有的视图和查看模型,当页面最初加载,然后调用一次ko.applyBindings ?

将JSON数据映射到具有特定视图模型types的Knockout observableArray

有没有办法将一个JSON数据对象映射到可观察数组,然后将每个可观察数组的项都初始化为特定types的视图模型? 我已经看了所有的淘汰赛的文件,以及淘汰赛和映射的例子在这里,我找不到任何答案适用于我后。 所以,我有以下的JSON数据: var data = { state : { name : 'SD', cities : [{ name : 'Sioux Falls', streets : [{ number : 1 }, { number : 3 }] }, { name : 'Rapid City', streets : [{ number : 2 }, { number : 4 }] }] } }; 我有以下观点模型: var […]

将数据绑定到dynamic生成的元素上

如何才能使淘汰赛数据绑定工作在dynamic生成的元素? 例如,我在div中插入一个简单的htmlselect菜单,并希望使用knockout选项绑定来填充选项。 这是我的代码看起来像: $('#menu').html('<select name="list" data-bind="options: listItems"></select>'); 但是这种方法不起作用。 有任何想法吗?