在点击事件上获取绑定数据

get bound data on click event

本文关键字:获取 绑定 数据 事件      更新时间:2023-09-26

这是我的剃刀页面,包含多个div,每个div都包含带有邻里名称和其他内容的跟随或取消关注按钮。

 <p class="lead" style="display: none" data-bind="visible: profiles().length == 0">No neighbourhood found...</p>
 <ul data-bind="visible: profiles().length > 0, foreach: profiles">
 <li class="media" style="border-top: solid 1px lightgrey; padding-top: 15px;">    
    <div class="media-body">
        <h4 class="media-heading">
            <a class="btn pull-right" data-bind="visible: !IsFollowed, attr: { href: followAction }">Follow</a>
            <a class="btn btn-danger pull-right" data-bind="visible: IsFollowed, attr: { href: unfollowAction }">Unfollow</a>
        </h4>
        <em data-bind="text: NeighbourhoodName"></em>
        <em data-bind="text: NeighbourhoodId"></em>
    //stuck at this line
        <a href="/Neighbourhood/NeighbourhoodDetail/@Neig"> </a>
    </div>
</li>

我想通过单击任何div 生成一个新页面。所以,我想通过单击相应的div将邻里的id发送到操作方法。现在,我能够获取带有数据绑定属性的 NeighborhoodId,但不知道如何通过单击div 的任何区域将此 id 发送到操作方法,这意味着如何混合此锚标记。类似的东西。

这是我在淘汰代码中的关注操作 URL,它在单击关注按钮时发送 neighborhoodId:

 self.followAction = location.protocol + "//" + location.host + '/Neighbourhood/Follow?uid=' + data.NeighbourhoodId;

但是,我不想要任何按钮。 只需单击div 应该将 ID 发送到操作方法。如何实现这一点。请给我一些建议。

您只需在div 上使用单击绑定,并将其绑定到视图模型中的函数。

视图模型中的函数接收绑定元素中可用的挖空上下文作为参数。因此,您可以从该功能直接访问所需的数据。

<div class="media-body" data-bind="click: yourViewModelFunction">

在你的视图模型中,你的函数应该像这样实现:

yourViewModelFunction = function(data) {
  // here you can use data.NeighbourhoodId
}