Knockout.js 将当前数据项与可观察数据项进行比较

我有一个模板,看起来像这样: var viewContext={ nodeClicked:函数(事件){ var target=$(event.target) var data=target.tmplItem().data viewModel.currentNode(数据); } }; ${Name} 如果observable包含的值等于用于呈现该元素的数据对象的值,那么我想将css类应用于HTML元素。我的问题在于我将viewModel的可观测值与当前数据项进行比较的部分。我试过: ${N

Knockout.js找不到ID错误的模板

救命,我卡住了! 我试图在knockout.js中完成一项简单的任务。基本上,我想让一个项目数组在一个表中生成一系列行。我正在使用jquery和jquery.tmpl.js。我以前做过很多次,但由于某种原因,它不起作用。这是我的密码 ASPX页 <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Default.aspx.

Knockout.js 1.3测试版模板Foreach-强制完成重新渲染

如何使用knockout.js 1.3.0 beta强制完全重新呈现模板 我已经在2.1中成功地做到了这一点,使用了jquery模板的{{each}}类 但是既然1.3.0不再使用jquery模板,我该怎么做呢 在本机敲除模板中{{each}是否有任何等价物,而不使用数据绑定调用.valueHasMutated()。这告诉了KokOutt,它需要将数据视为修改的,因此需要重新渲染。 这在jquery模板部分也非常有效

Knockout.js KnockoutJS-嵌套数据,加载子项

我对knockoutjs非常陌生——已经完成了教程 我已经有了一个很好的开始。我有一份似乎很合适的申请 托科。在这种情况下,我需要用JSON中的数据填充一个表。这 数据是嵌套的,并且可以嵌套在任何深度,但我的API只会 曾经返回两级深的数据 例如 节点1 节点A 节点B 我已经设法把数据加载到我的表中了,可爱的。我已经吃过了 这更进一步,并且支持嵌套。我有一个要求,如果一个节点有子节点,它可以被注入到表的节点下面 这方面的一个例子是 节点1(HasChildren) 节点A

Knockout.js 如何删除拖动元素,当使用敲除删除时

我有两个自定义绑定要拖放,并且有一个元素列表,我需要将这些元素拖放到一个可拖放区域中,但是当发生这种情况时,我需要从源列表中删除被拖动的元素,我的操作方式如下,但是当从源列表中删除被拖动的元素时,我收到以下错误“无法获取属性“options”的值:对象为null或未定义”,调试器在我的jquery-ui.1.8.17.min.js文件中的这一行var d=a(this).data(“draggable”).options。问题发生在拖动绑定中 这是我的密码: var viewModelInst

Knockout.js 在击倒绑定上获取元素?

当下面的foreach被绑定时,我需要能够让一个视图从$.get或只是硬编码向“body”div添加html。我需要的“模型”是那个虚拟机,但我不知道如何让虚拟机添加html到页面 <!--ko foreach:modules --> <div class="module" data-bind="attr: {id:id}"> <div class="head" data-bind="text:title"></div> <d

Knockout.js 使用express实时更新网站的最佳模板引擎是什么?

我正在使用express,我听说witch允许您绑定dom元素和javascript对象 我正在使用JADE模板引擎与express。我认为使用jade和knockOut可能有点棘手 在你看来,什么是最好的解决方案?好吧,我不是一个真正的击倒者,也不是一个熟练的Jade用户,但这可能是可行的,尽管我不会这样做,但最终这只是一个选择和支持的问题 对我来说,合适的解决方案是使用Hogan编译的胡须模板,并使用主干或脊椎作为MVVM。然而,最近我做了很多Ruby而不是node,我发现自己在客户端使用E

Knockout.js 无法从淘汰中启用剑道组合框

我使用KnockoutJS填充了剑道组合。我正在使用Knockout-Kendo.js来实现这一点 我有两个地址,k1地址和邮寄地址: 对于这两个地址,如果您从“州”组合框中选择一个州,则该“国家”组合将被启用,并选择“美国” 如果从“状态”组合框中删除状态,或者手动键入不存在的状态,则将启用“国家/地区”组合框。如果您选择美国以外的任何国家,州组合框将被禁用 我为k1地址工作 <input data-bind=" kendoComboBox: { enabled: k1Address.

Knockout.js 带ASP.NET Webforms的KnockoutJS

我把头撞在墙上,想弄明白为什么我不能让它工作。我试着遵循许多例子,并将我尝试过的所有东西精简到下面的内容 因此,在我的aspx页面上,我有: 个人 以下是我的javascript: var serviceBase = 'http://localhost:49906/PopulationSelection.aspx/'; var getSvcUrl = function (method) { return serviceBase + method; }; var ajaxGetJson = fu

Knockout.js 为简单jQuery插件创建knockoutJS自定义绑定

KnockoutJS开发人员需要采取一种通用方法或至少一组步骤来为简单的jquery插件创建绑定 例如,如果插件在“公共代码”中像这样触发: $('#tag1')。tagsInput({ //我的参数在这里 }); 这个插件最简单的自定义KO绑定是什么样子的 以下是一种常见的方法,例如jQuery按钮: ko.bindingHandlers.jqButton = { init: function(element, valueAccessor) { var options

Knockout.js 如何通过KnockoutJS设置元素的class属性

我使用KnockoutJS视图模型填充HTML select元素,如下所示: <select data-bind="options: $data.answers, optionsText: function(item) { return item.text }, value: selectedAnswer, optionsCaption: 'Choose...'"></select> 这可以在KnockoutJS中完成吗?我很难找到解决这个问题的办法 编辑: 我刚刚尝

Knockout.js knockoutjs-$evalasync(angularjs)等价物

尝试在自定义绑定处理程序中执行一次函数,以根据某些div的内容调整其大小。我可以在angularjs中轻松实现这一点,但我正在尝试找到类似于击倒的$evalAsync 有没有这样的功能我可以挂上 它适用于koGrid 2.0自动宽度。现在它只在单页应用程序上有效,因为我正在连接到文档。就绪:( 是否可以使用afterRender回调 你到底想做什么?只是根据一些内容调整div的大小?我觉得我没有足够的信息来回答你的问题。但是,我确信,无论你习惯怎样做,尝试去做击倒比赛就像试图以你习惯于骑独轮车

Knockout.js 更新敲除JS映射插件中的子属性

我对淘汰js和带有层次视图模型的映射插件有问题 我的viewmodel的结构有点像这样: VM = { members:[ { name:"name 1", volunteering:[{...},{...},{...}] }, { name:"name 1", volunteering:[{...},{...},{...}] }

这是不是因为knockout.js或jquery UI对话框导致的?

在我真正的web应用程序中,我有一个显示文件夹的树,在某些情况下,我会在jQuery UI对话框中显示此树。我已经尽我所能,在这本小提琴上举了一个例子: 如果单击按钮1,将切换对话框的可见性 如果单击按钮2,将切换内嵌(无对话框)列表的可见性 我的大部分测试都是在Firefox中进行的。单击按钮1大约需要1.5秒来显示或隐藏(即使隐藏也很慢)。点击按钮2几乎是即时的 这是jQuery UI对话框的一个问题。在每次隐藏/显示时,它对DOM有很大影响吗?或者它只是一个问题,因为我有一个模板内?KO

Knockout.js 使用敲除li标记切换css类

在用户选择li标记时,更改class=“DarkColour” 如何在knockout中做到这一点?我建议大家去阅读knockout中的CSS绑定。 你可以这样做: <li class="LightColour"> 真的帮不了你更多,因为你的问题很模糊,没有代码供我使用 <li data-bind="css: yourComputedVariable">

Knockout.js toJSON正在创建一些不需要的copiedProperties

我是findign,ko.toJSON正在创建一些不需要的东西,比如: 复制属性 毁灭 这些有什么意义?默认情况下我可以删除它们吗?如果您正在使用,则应使用插件的转换方法,例如 ko.mapping.toJSON 及 ko.mapping.toJS 而不是内置的ko.toJSON和ko.toJS 因为方法的映射版本将采用插件本身内部使用的附加属性 演示。如果您的模型是尚未使用映射插件完全创建的“混合”模型,则使用ko.mapping.toJSON可能不会删除您所期望的\uuuuuuuuuuuu

Knockout.js 使用敲除可观察的内部数组

我有可观察的数组,它们绑定到UI上的html字段 但是,对UI上这些字段的更改不会反映在viewmodel中,因为根据淘汰文档,observableArray跟踪数组中的对象,而不是这些对象的状态 代码如下所示: var RewardMissionModel = function () { var self = this; self.achievementID = ko.observable(); self.rewardAsset = ko.observable();

Knockout.js 击倒计算可观测停止射击

这令人费解。这是一把小提琴 我有一个简单的viewmodel,它包含一个计算的可观察对象。如果某个特定的私有变量_editing设置为true,则计算出的可观测值将返回“”。现在,编辑是不可观察的。如果_editing为false,那么计算出的可观察对象将查看一个可观察对象并返回一个计算值 var expressionItem = function(){ this.id = 10; this.value = ko.observable() }; var vm = functi

Knockout.js 用咖啡脚本击倒

我要用“击倒”和“咖啡脚本”。下面是简单的示例代码 **** coffeescript **** class NewsItem constructor : (content) -> @content = ko.observable(content) class ViewModel constructor : -> @items = ko.observableArray()

Knockout.js 如何阻止durandal/jquery从视图中剥离脚本标记?

我知道有更好的模式,但在本例中,我们希望将一些遗留代码转移到视图中。这个html有一个 <script src="binding.js"></script> 我相信durandal视图合成引擎只使用视图中的第一个html元素,而忽略了其他所有内容。因此,如果您的脚本标记在视图中的主容器之外,我认为它会被删除 您可以发布一些html/js供审阅吗?您可以为此使用自定义的敲除绑定 这里有一个非常简单的绑定-请记住这只是一个想法: ko.bindingHandlers.scr

Knockout.js 使用击退绑定2d数组更改-未捕获可见:缺少键

我尝试使用knockbackjs(knockoutjs+backbonejs),其中模型是一个2d数组)ie表,并且viewModel使用foreach绑定到一个表html标记,因此我将得到一个可观察的表,每次单击一个单元格都会将整个2d数组发送到api 我一直在用一个我问过的例子来研究这些问题,并得出如下结论: //model var GameModel = Backbone.Model.extend({ urlRoot: '/game' }); //viewmode

Knockout.js 向淘汰数字数据绑定添加十进制格式

我正在使用敲除填充表中的数值: HTML: 现在我如何显示以十进制格式填充的数字,比如.00? 10点 目前它只显示数字,例如10,您可以考虑编写一个自定义扩展器来处理这个问题 基本扩展器类似于: ko.extenders.numeric = function(target, precision) { var result = ko.computed({ read: function() { return target().toFixed(prec

Knockout.js “Delete”函数与ko.observearray()一起工作,但不工作

我是个新手,现在仍在学习。 我有一个简单的页面,用户可以添加和删除项目。名为“deleteItem”的“delete”函数适用于版本1代码,但不适用于版本2代码。请帮我了解背后的原因。提前谢谢 顺便说一下,版本2的代码来自链接底部附近的注释7 版本1的代码来自同一链接的示例2 我的密码详情: 两个版本之间的区别是: 在版本1中,属性“myItems”是具有“name”属性的对象数组。 在版本2中,属性“myItems”是一个没有任何属性的元素数组。那些数组元素只是文字字符串 版本1代码:名为“d

Knockout.js 为什么删除前一个选定项后必须将其设置为null

当我从我的客户列表中删除选定客户时,如下所示: var selectedRow = self.Selected(); customers.remove(selectedRow); 为什么我必须显式地将所选对象设置为null self.Selected(null); …因为下次我单击“删除客户”按钮时,以前删除的客户仍然会从Selected()observable返回???我从您的代码片段中假设您通过说self.Selected(mySelectedValue)来填充 在代码中,您正在从数组中

Knockout.js knockoutjs-Ajax表单在成功回调中提交和更新viewModel

我正在构建一个巨大的页面,页面上有10个不同的部分,我正在使用Knockout进行事件绑定,等等 每个部分都包含一个表单,它有自己的viewModel,还有它的字段和验证属性等。我在阅读了关于多视图模型的文章后对其进行了模式化 我有一个masterViewModel,可以导入很多子ViewModel。这一切都很好,我可以设置可观察的元素,根据字段输入自动填充,等等 我将表单绑定到viewModel中的一个函数,如下所示 在我验证并保存表单字段(通过ajax post)之后,我想将该部分设置为只读

Knockout.js 如何从网格行中选择某些单元格?

我有一个koGrid,我只想从行中选择一些单元格(2个单元格)。如果使用canSelectRows:true属性,我可以选择整行-我不需要这个。如何从网格行中选择某些单元格 网格源: this.gridOptions = { data: self.people, enablePaging: true, pagingOptions: self.pagingOptions, useExternalSorting: true,

Knockout.js 如何在使用敲除时处理viewmodels中的方法命名冲突

全新的淘汰赛,不知道是否有人可以回答我的问题 有没有一种方法可以处理属性在绑定到页面上的元素时命名相同的viewmodels。e、 g <input data-bind="value: prop1" /> function vm1(){ this.prop1 = something } function vm2(){ this.prop1 = something } ko.applybindings(new vm1()); ko.applybindings(new vm

Knockout.js KnockoutJS如何将textarea值属性绑定到函数

我有一个简单的textarea,我想自定义它的文本(比如添加分隔线),这就是我迄今为止所尝试的: <textarea rows="5" data-bind="value: function(data) { SetDefaultValue(data); }" /> 但我什么也得不到 当检查结果HTML时,它找不到value属性,并且没有JavaScript错误。如何将textarea的value属性绑定到函数 您需要做的是使用计算机修改textarea值,如下所示 <tex

Knockout.js 在带有嵌套对象的敲除中使用简单的编辑器模式

在我开始使用嵌套对象之前,我一直遵循简单编辑器模式,一切都按预期进行 基本上,当我选择一个项目时,我在viewmodel上设置了两个属性。一个选择editem属性和一个可编辑属性。它是可编辑属性,然后我对其进行更改。如果用户接受更改,则所选项目将更新 如果我有一个平面对象,这在我的代码中可以很好地工作。但是,当我有嵌套对象时,子对象数据在指定给“可编辑”特性时不正确 我应该看到: "Selected": { "Id": 1, "Name": "user 1", "Role

比较knockout.js和TypeScript

我有一个Windows窗体程序(比如Paint.NET),我想把它移植到web客户端应用程序中 我已经开始使用knockout.js,它似乎(虽然不是完全确定)能够完成这项工作。然后我听说了打字脚本。从描述中可以看出,它是为了“应用程序级Javascript开发”。我没有足够的资源来评估两者 knockout.js或TypeScript是更好的选择吗?或者它们不可比 谢谢。TypeScript是一种编译成javascript的语言,Knockout是一个MVVM javasript库,可帮助您组

Knockout.js 风吹草动

我试图实现简单的分页,但不知道我做错了什么 这是我的 search.html <ul data-bind="foreach:leases"> <li data-bind="text: leaseID"></li> </ul> <button class="btn" data-bind="click: next">Next</button> <div data-bind="dump: $data.leases

带有foreach对象的knockout.js模板失败

使用模板和foreach的这段绑定失败: <div data-bind="template: { name: 'tmplA', foreach: { data: items } }"> </div> <script id="tmplA" type="text/html"> <h1 data-bind="text: text"></h1> </script> 显示错误的小提琴: 我使用foreach:{data:

Knockout.js 淘汰:仅当选中复选框时才添加文本路径

我在玩SVG。我有一个复选框。如果选中,我希望使用一个文本路径并在其上显示文本。如果未选中该复选框,我希望只显示文本,而不显示文本路径 问题在于,如果应该有textpath,那么数据绑定属性应该位于text元素上: <text font-size="46" fill="red" font-family="Verdana" data-bind="text: customTextValue"> </text> JsFiddle: 这里可以做什么?复选框的绑定是选中的,而不

Knockout.js 从敲除数组生成选择下拉列表

我有一个由ajax调用构建的人员数组 var people = GetPeople(); viewModel.people = ko.mapping.fromJS(people); 每个viewModel.people都包含名字、姓氏、电子邮件和电话。我试图将每个名字值绑定到select语句,如下所示: <select data-bind="options: viewModel.people, optionsText: FirstName"></select>

Knockout.js 用tinymce绑定敲除

我正在尝试使用knockout 3.0.0和tinymce 4.0.18 我想创建一些东西:很少有可编辑的元素(这里有3个),但这些元素是从敲出来的。在没有tinyMCE的情况下这样做不是问题(这里是) 但当我试图通过这样做来实现同样的目标时: function ViewModel() { var self = this; self.editableAreas = ko.observableArray([{ id : 1, txt: ko.obse

Knockout.js 从kendoNumeric控件更改KENDODataPicker值

我一直在与KendoUI/Knockout集成进行斗争 我的要求: 有两个KendoUI日期选择器元素(开始日期和结束日期)。结束日期应为只读,并且应为计算值 用于捕获月份值的KendoUI NumericTextBox元素(句点) 插入NumericTextBox值时,它应自动添加到结束日期的月份值 我的尝试(请忽略表的使用): HTML JSFiddle: 由于您使用的是敲除,因此无需手动从控件中获取值,您只需使用viewmodel中显示的值,即可通过以下方式计算结束日期: this.com

Knockout.js ValidationMessage抛出observable不可验证

我有一个viewmodel,它有一个observable,我在上面应用了一些验证 现在,当我使用自定义validationMessage绑定来显示错误时,我在ko验证库中得到以下错误: <script type="text/html" id="TEXTBOX_Template"> <input type="text" data-bind="value: question().s_answer" /> <span class="validationMe

Knockout.js 将行显示为带删除标记的列

我有以下格式的视图模型,需要以以下格式渲染数据。你能帮我把下面的表格格式进行绑定吗 var data = {"MonthlySummaries": [ {"Name": "Jan", "BeginBalance": "1000", "Usage": "100", "EndBalance": "900"} ,{"Name": "FEB", "BeginBalance": "900", "Usage": "100", "EndBalance": "800"} ,{"Na

Knockout.js 在第二次迭代中未定义淘汰计算属性

我在CategoryModel集合上有一个可排序枚举(可拖动的插件,它扩展了foreach),该集合有一个CanCategoryBeDeleted计算方法。此功能用于使按钮启用或不启用对于集合中的第一个项目,它可以工作,但是对于第二个项目,它失败,并出现以下错误。该系列中的所有类别模型看起来都不错。取出启用标记将按预期呈现集合 未捕获引用错误:无法处理绑定“sortable:函数” (){return{data:categories,afterMove:$root.orderCategories

Knockout.js 敲除绑定嵌套集合

我有一个包含问题集合的下一个ViewModel,其中包含答案集合。 我试图绑定第一个集合中的文本和元素-问题看起来正确。我一点也不想念你。 实际上,在这个示例中是需要映射的Javasctip模型。我的viewmodel如下所示: function VM(){ this.PoolText = ko.observabe(); this.Qusetions = ko.observableArray([]); this.Qusetions.Answers = ko.observableArr

Knockout.js 如何使文本在淘汰中禁用或不可见

我在页面上有一条消息,指示用户选择至少五个项目。我希望一旦用户选择了五个项目,消息就会消失 <span class="message" data-bind="text: messageToChooseAtLeastFiveItems, disable: hasSelectedFiveItems"></span> 为什么跨距内的文本仍然出现 JSFiddle 你应该这样做 查看: <select multiple="true" data-bind="options:

Knockout.js 如果使用扩展器,订阅中的值不会更新

我在一个可观察对象上调用了extender,其中包含舍入逻辑,在订阅中还包含业务逻辑。问题是,当该可观察对象的值发生更改时,会调用第一个扩展程序并更改该值(但不会在视图中更新)。同时调用subscribe,如果在subscribe中更改了同一个可观测值,这是最新的更改,但它没有设置为可观测值 ko.extenders.scale = function(target, precision) { var result = ko.computed({ read:target,

Knockout.js 淘汰验证:如何将无效条目排除在viewmodel之外

我有一些页面,其中我的Knockout viewmodel根据用户输入的数字字段执行摘要计算。我有适当的数字验证规则 但是,如果用户输入一个非数值,模型必须接受该值,以便进行验证以完成其工作。因此,非数值流入汇总计算,结果不理想 我希望数值验证规则能够防止非数值数据进入我的viewmodel。有什么方法可以实现这种行为吗 我意识到我可以使用ko扩展器或输入掩码来拒绝非数字输入,但我更希望用户收到错误通知并自行修复,我使用的典型解决方案不是简单地恢复用户在输入字段中的输入。我使用的典型解决方案是将

Knockout.js 淘汰AMD帮助程序中的错误处理

我正在使用淘汰AMD助手项目,这是很好的,因为我可以更好地模块化我的淘汰模块 我的问题是,它似乎完全隐藏了错误。这在小项目中并不是什么大问题,但随着项目的发展,如果控制台中可以看到错误,这将是很有帮助的 所以我刚刚遇到了一个情况: <div data-bind="click: doStuff"> <!-- Lots of other html --> </div> 如果DOSTUF功能不存在,则整个模块将无法工作。显然,一旦知道错误,就可以很容易

Knockout.js applyBindings和getJson不显示?

我是敲除的新手,我试图显示一个包含mtdb数据的表。 在我的控制器(DriversController)中,我有以下代码: public JsonResult GetAllDrivers() { db.Configuration.ProxyCreationEnabled = false; List<Driver> drivers = db.Drivers.ToList(); return Json(drivers, JsonR

Knockout.js 无法处理绑定knockoutJS

以下是视图模型(auth.js): 和视图: <li><a href="#" data-bind="visible: isAuth">User</a></li> 我一直在isAuth上遇到错误,我是敲除新手,所以我不太了解它。工作正常:也许你可以比我更改代码的“错误”更明确。绑定没有问题。错误说明了什么?按照给定的方式工作正常:也许您可以比我更改代码的“错误”更明确。您的绑定没有问题。错误说明了什么? <li><a href=

Knockout.js 淘汰/选择2从下拉选项中删除所选选项。无需传递根模型

因此,我有一个表,其中有两个下拉列表(每行),我正在使用knockout和select。我希望能够禁用或删除已选定的选定选项 多亏了@Jason Spake,我才能够从中理解这个问题。但是,提供的解决方案并不理想,因为我不想将根模型传递给子模型。有人能帮忙想出解决办法吗 谢谢大家! 我利用上一个问题中您的想法拼凑了另一个片段,使用disabled属性,而不是完全删除项目。Knockout有一个名为optionsAfterRender的方便的选择选项绑定,它允许您对生成的选项进行一些后期处理 k

  1    2   3   4   5   6  ... 下一页 最后一页 共 46 页