小编Eor*_*ori的帖子

自定义绑定在knockout js中进行多项选择

我正在尝试在knockout中创建自定义绑定以将其用作多个选择字段.例如:我想为发票报告设计选择屏幕.在此选择屏幕上,我想使用字段"发票类型"允许用户仅提供他们感兴趣的发票类型.如果我在此字段中使用标准文本框,则只允许用户提供一种发票类型.我希望他们能够在选择中提供多种类型.我的想法是准备一个绑定,如:

// html
<input data-bind="multiple: { data: optionsArray }" />
...
// view  model
optionsArray = ko.observableArray();
Run Code Online (Sandbox Code Playgroud)

我可以提供字段'optionsArray',这将保留用户的多重选择(在我的情况下,这将是多种发票类型).如果涉及到UI,我认为它看起来像这样:元素旁边有一个带有多个绑定的按钮.单击它后,将出现对话框窗口,所有'optionsArray'元素都显示在那里,可以更改,可以添加或删除新元素.

我不知道如何实现这一点,因为我在对话框中显示所有optionsArray元素的方式失败了,因为它们可以被编辑为可观察对象,所有更改都反映在viewModel.optionsArray中.这甚至可能吗?

你有建立自定义绑定的经验并帮助我吗?

knockout.js

6
推荐指数
1
解决办法
7714
查看次数

我可以在自定义绑定中动态绑定元素吗?

有没有办法从自定义绑定内部绑定元素?例如,我有自定义绑定并绑定到它可观察的项目数组:

var someArrayOfItems = ko.observableArray(['item1', 'item2', 'item3']);
...
<div data-bind="myBinding: someArrayOfItems"></div>
Run Code Online (Sandbox Code Playgroud)

现在我希望myBinding列出它被绑定的div元素中的'someArrayOfItems'中的所有元素:

<ul data-bind="foreach: someArrayOfItems">
    <li>
        <span data-bind="text: $data"></span>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

是否可以使用自定义绑定进行此类操作?谢谢你的帮助.

knockout.js ko-custom-binding

2
推荐指数
1
解决办法
4382
查看次数

标签 统计

knockout.js ×2

ko-custom-binding ×1