【发布时间】:2016-03-19 14:51:33
【问题描述】:
这就是我们将Url() 模型输入绑定到knockout UI 的方式。
[anchor-tag] data-bind="attr: { href: Url()"
现在我想将一些来自父元素的东西附加到 url,所以我想将 "this" 元素传递给 js 文件。
[anchor-tag] data-bind="attr: { href: myFunction1(Url(), this)"
myFunction1 = function (url, obj) {
return url + "#" + $(obj).parents('li').attr('rankAbs');
}
当我在myFunction1 中执行$(obj) 时,我正在取回Window 对象。
我无法访问更多的父对象。
【问题讨论】:
-
你可以使用 data-bind="attr: { href: myFunction1(Url(), $element)"。文档参考是knockoutjs.com/documentation/binding-context.html
-
最好将您的逻辑包装到自定义绑定中,或者从模型的上层传递“rankAbs”。
标签: javascript jquery knockout.js data-binding anchor