If statement 使用IF语句和With语句侦听click事件击出JS
页面加载时,输入字段应为空 当用户点击“编辑帖子”时,我调用KO点击和“选择”功能(所有工作)。。执行此调用时,所选行已正确绑定 当前代码在页面加载时自动绑定,因此第一条记录位于输入字段中If statement 使用IF语句和With语句侦听click事件击出JS,if-statement,knockout.js,onclicklistener,If Statement,Knockout.js,Onclicklistener,页面加载时,输入字段应为空 当用户点击“编辑帖子”时,我调用KO点击和“选择”功能(所有工作)。。执行此调用时,所选行已正确绑定 当前代码在页面加载时自动绑定,因此第一条记录位于输入字段中 <div data-bind="with: Selected"> <input type="text" data-bind="value: Name" /> </div> <i title="Edit Post" data-bind="click: $pare
<div data-bind="with: Selected">
<input type="text" data-bind="value: Name" />
</div>
<i title="Edit Post" data-bind="click: $parent.select"></i>
黑客示例
<div data-bind="if **click: $parent.select then** with: Selected">
<input type="text" data-bind="value: Name" />
</div>
<i title="Edit Post" data-bind="click: $parent.select"></i>
如果“单击”然后使用“执行”:选择“”,如何编写数据绑定
更新
添加示例代码:通常,您只希望将其从所选的
可观察的中删除。如果未填充,则不会渲染该区域。如果对其进行了优化,则将使用所选的对象
因此,当您调用$parent.select
时,您可能希望用对象填充Selected
事实上,可观察对象是函数,因此,除非您需要运行其他逻辑,否则您甚至可以使用快捷方式,直接将您的单击
绑定到所选的可观察对象上。当前数据作为第一个参数传递,该参数设置可观察对象的值。您将根据单击的项目更改所选属性
因此,一个示例viewModel可能类似于
var items = [{ Name: 'item1' }, { Name: 'item2' }];
var viewModel = {
items: items,
Selected: ko.observable(items[0])
}
viewModel.select = function(selectedItem) {
// The first arg is the context of the item clicked
// Selected in an observable
viewModel.Selected(selectedItem);
};
然后,随着选定的更改。。。您的名称绑定将自动更新。RP-最初我需要显示为“添加名称”的字段。。然后,当用户选择要编辑的行时,我们称之为Selected now,它是edit NAME。通过使用with Selected,整个div在初始加载时是隐藏的?我不确定我是否完全清楚你的整体结构。当Selected
为空/未定义时,您当然可以对Selected
使用ifnot
绑定来显示某些内容。我希望业务名称区域始终可见,以便用户可以添加新记录或编辑所选记录。我可能会这样做:对新记录和现有记录使用相同的名称字段,然后更新所选记录或创建新记录。