【问题标题】:navigate with id using knockout binding in single page application在单页应用程序中使用敲除绑定使用 id 导航
【发布时间】:2013-12-05 23:25:24
【问题描述】:

我有以下问题。请帮我解决这个问题

<a href="#" data-bind="event: { click: navigateManageReturns(OrderNo) }, text: OrderNo">       </a>

点击时:navigateManageReturns 在点击事件时所有数据都绑定在 Grid 中。如果我修改为单击:navigationManageReturns(OrderNo),数据未绑定并在网格中显示空白数据。

【问题讨论】:

  • 当您使用 eventclick 绑定时,通常您希望传递一个函数 (navigateManageReturns) 而不是调用函数 (navigateManageReturns(OrderNo)),除非调用实际上是返回一个函数。 Knockout 会自动将上下文作为第一个参数传递(并将其用作this 的值)。

标签: javascript knockout.js requirejs durandal single-page-application


【解决方案1】:

click 事件的处理程序可能在 ViewModel 中,因此您应该访问父上下文以获取该处理程序:

<a href="#" data-bind="event: { click: $parent.navigateManageReturns }, text: OrderNo"></a>

在函数内部,你会得到对象:

 function navigateManageReturns (order){
     var number = order.OrderNo;
 }

【讨论】:

    【解决方案2】:
    <a href="#" data-bind="event: {click: function(){ navigatemanageReturns(OrderNo)}, text: OrderNo"> </a>
    

    这应该可以解决问题

    编辑:您还应该考虑其他人写的内容:

    data-bind="event: {click: navigatemanageReturns}"
    

    然后 catch 传递的对象。使用console.log 来查看您需要从该对象中得到什么

    【讨论】:

      猜你喜欢
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 2016-03-24
      • 2012-06-06
      • 2017-10-24
      • 2014-11-30
      • 1970-01-01
      相关资源
      最近更新 更多