jjzjj

knockout-components

全部标签

javascript - 使用 Knockout.js 发布集合

我正在编写一个asp.netMVC应用程序,并决定尝试使用Knockout.js来处理动态UI内容。这是一个很棒的框架,到目前为止它对我帮助很大。但我遇到了2个我无法解决的问题,并找到了任何有用的信息。我将从代码开始,向您展示我拥有的东西,然后我将尝试解释我想要实现的目标。C#View模型我的HTML/Razor和knockout模块varProject=function(project){ varself=this; self.Id=ko.observable(project?project.Id:0); self.CustumerCompany=ko.observable(proj

javascript - 你如何观察 Knockout 中的 JavaScript 哈希表?

在我的KnockoutView模型中,我有一些属性,我试图在其中使散列可观察。所以代替我的pre-Knockout代码self.MyHash={};我现在正在使用:self.MyHash=ko.observable({});在我的代码的其他部分,我使用如下语句操作哈希://addanentryself.MyHash()["test"]="MyValue";//removeanentrydeleteself.MyHash()["test"];该代码有效,因为条目已正确添加和删除。但是,哈希表的更改似乎没有被观察它的代码区域检测到。例如,当我更改哈希表时,这个计算的可观察对象永远不会运行:

javascript - 如何在 Knockout JS 中的 BindingHandler 中获取绑定(bind)表达式

假设我有一个跨度我有一个自定义绑定(bind)ko.bindingHandlers.MyBinding={init:function(element,valueAccessor,allBindings,viewModel,context){//Iwanttogetthestring"Name"here.NOTthevalueofName.},};如何在处理程序中获取包含绑定(bind)表达式值的字符串?即我如何获得“名称”而不是“名称的值”。我还需要表达式,所以传递字符串“Name”是不可行的。 最佳答案 实际上,Knockout确

javascript - 带有可观察参数的 Knockout 自定义验证

我有一种情况需要验证我的View模型中字段的最大数量。但是,最大数量必须是可变的,并且根据在此模型之外选择的UI项目进行计算。我试图将可观察对象作为参数包含在我的自定义验证器中,但它似乎不会在值更改时更新。我有一种感觉,一旦第一次执行验证代码,它就会保留参数。未使用Knockout的列表的HTML£25000£50000£75000这是我正在使用的代码的简化版本。varSpecifiedValuablesViewModel=function(maxSpecifiedItemAmount){varself=this;self.maxSpecifiedItemAmount=ko.obser

javascript - react : potential race condition for Controlled Components

theReacttutorial中有如下代码:classNameFormextendsReact.Component{constructor(props){super(props);this.state={value:''};this.handleChange=this.handleChange.bind(this);this.handleSubmit=this.handleSubmit.bind(this);}handleChange(event){this.setState({value:event.target.value});}handleSubmit(event){alert

javascript - react / Hook : prevent re-rendering component with a function as prop

假设我有:constAddItemButton=React.memo(({onClick})=>{//Goalistomakesurethisgetsprintedonlyonceconsole.error('ButtonRendered!');returnAddItem;});constApp=()=>{const[items,setItems]=useState([]);constaddItem=()=>{setItems(items.concat(Math.random()));}return({items.map(item=>{item})});};每当我添加一个项目时,重新呈

javascript - 尝试使用 Knockout ViewModel 实现 SignalR

我有以下代码,它似乎没有调用客户端并使用信息更新KnockOutJSView模型。GetOuting()在页面加载时被调用,并将正确的信息输入到View模型中。Chrome在开发者工具中没有显示JS错误。从那时起,我很难弄清楚如何解决它。任何帮助表示赞赏。SignalR中心publicclassOutings:Hub{privatestaticDictionaryoutings=newDictionary();publicvoidGetOuting(stringid){varguidID=newGuid(id);boolcontainsOuting=outings.ContainsKe

javascript - Knockout.js foreach 非常慢

我正在尝试使用模板创建一个简单的标记。像这样的东西:它工作得很好,但是如果我需要用这个模板渲染很多div,它会非常慢。创建每个div后的knockout将其添加到文档中。但是,如果我这样做:el=document.createElement("div");applyBindings(myModel,el);(div.list).innerHTML=el.innerHTML它工作得更快但不方便。也许Knockout有一些内置功能可以创建一组元素,然后将这组元素添加到文档中? 最佳答案 听起来KO正在使用您添加的每个DIV来操纵DOM。

javascript - 如何在 knockout 中从节点中删除绑定(bind)?

我发现理论上ko.cleanNode()应该在调用时从节点中删除绑定(bind),但在thisexample中好像不行。Javascript://Viewmodelvarvm={name:ko.observable("John")}//Nodetobeaddedvarnode=$("",{id:"testing",'data-bind':"text:name()"});//Firstadditiontobody$("body").append(node);//Applybindingsko.applyBindings(vm,$("#testing")[0]);//Removeko.cl

javascript - Observable 的设置值未在 Knockout 中更新

(每天都有大量问题链接回为什么我不能设置我的可观察值的值,而不是有这么多不同的答案说同样的事情我想创建一个问题来引用大家)KnockoutObservable/ObservableArray的设置值不更新设置我可观察的observableArray的值没有更新!向Observable数组添加一个项目为什么我不能将项目添加到我的Knockout可观察数组中? 最佳答案 KnockoutObservable/ObservableArray的设置值不更新您需要使用setter函数来更新您的observable/observableArra