获取数据绑定的元素(使用KnockoutJS)
Get element of data binding (with KnockoutJS)
目标
获取触发函数的元素。
问题
查看我的代码:
<span data-bind="ifnot: ProductLayout.existsAtSummary()">
<button class="btn btn-success btn-small add"
title="Adicionar à lista de comparação">
<i class="icon-plus"></i>
</button>
</span>
<span data-bind="if: ProductLayout.existsAtSummary()">
<button class="btn btn-danger btn-small remove"
title="Remover da lista de comparação">
<i class="icon-remove"></i>
</button>
</span>
正如您所看到的,当if
和ifnot
为true或false时,我正在触发existsAtSummary()
函数。
但这些按钮在前臂内部,我需要使用它们的元素,我不知道如何操作。
我的JS:
function ProductLayoutViewModel() {
var self = this;
self.existsAtList = function () {
return true;
};
}
ko.applyBindings(new ProductLayoutViewModel());
把我的代码放在这里,在JSFiddle上。
我的想法
我在想这个:
self.existsAtList = function (element) {
console.log(element); // returns me 'undefined'
return true;
};
但正如我所评论的,控制台会返回"未定义"。
有什么想法吗?
详细信息
如果需要,我可以使用jQuery。
我想你要找的是$element
:
<span data-bind="ifnot: existsAtList($element)">
<button class="btn btn-success btn-small add"
title="Adicionar à lista de comparação">
<i class="icon-plus"></i>
</button>
</span>
<span data-bind="if: existsAtList($element)">
<button class="btn btn-success btn-small add"
title="Eliminar de lista de comparação">
<i class="icon-minus"></i>
</button>
</span>
和:
function ProductLayoutViewModel() {
var self = this;
self.existsAtList = function (element) {
console.log(element);
return true;
};
}
ko.applyBindings(new ProductLayoutViewModel());
请参阅http://jsfiddle.net/rSD7q/1/
相关文章:
- 使用KnockoutJS绑定的YUI DataTable
- 使用knockoutjs组件创建对话框
- 未绑定到使用 KnockoutJS 的表的数据
- 在KoGrid中使用knockoutjs不适用于Chrome或FF,但适用于IE8
- 使用knockoutjs操作视图模型
- 如何使用knockoutjs绑定嵌套输入
- 如何使用knockoutJS设置悬停和聚焦的css类
- 使用knockoutjs绑定和显示字典
- 使用KnockoutJS和单个AJAX调用进行无限滚动
- 使用KnockoutJS搜索过滤器
- 如何使用 KNOCKOUTJS 模板绑定绑定依赖模板
- 如何使用 KnockoutJS 创建对象的关联数组
- 使用 Knockoutjs 创建网格
- 使用 KNOCKOUTJS 设置动态可观察量
- 使用 KnockoutJS 映射插件时绑定损坏
- 使用KnockoutJS,如何指定要绑定到的ViewModel
- 无法使用 Knockoutjs 从可观察数组中删除项目
- 在外部JavaScript文件中使用KnockoutJS ViewModel
- 在使用 KnockoutJS 从 API 加载字段后,将字段添加到 observableArray
- 获取动态插入的 HTML 以使用 knockoutjs