【问题标题】:ionic 2 not updating the Counter property in htmlionic 2 未更新 html 中的 Counter 属性
【发布时间】:2017-01-27 15:11:45
【问题描述】:

我有一个简单的例子,它确实更新了我的 HomePage 类中的 Counter 值。

但是在html视图中:

 <p>{{Counter}}</p>

这仍然为零。

方法:

  ondrag(event, item) {
    let percent = event.getSlidingPercent();
    if (percent === 1) {            
        event.close();
        this.Counter--;
    }
    if (percent + 1 === 0) {
        event.close();
        this.Counter++;
    }
}

如果我为每个 if 添加日志,则可以在我的机器上工作

这是 plnkr 上的代码: https://plnkr.co/edit/7Q4wDtZjIS1zBDsF0etS

有什么建议吗?

【问题讨论】:

    标签: angularjs html angular ionic2


    【解决方案1】:

    您的ondrag 处理程序正在尝试使用item,它实际上是一个字符串——实际上是items 数组的迭代值。这意味着您的代码在 item.getSlidingPercent 上引发了一个不存在的异常。尝试使用event 而不是item,如下所示:

      ondrag(event, item) {
        let percent = event.getSlidingPercent();
        if (percent === 1) {   
            event.close();
            this.Counter--;
        }
        if (percent + 1 === 0) {
            event.close();
            this.Counter++;
        }
      }
    

    【讨论】:

    • 即使使用事件,问题仍然存在,html 上的计数器保持不变,在 plnkr 上,类中的值似乎也没有改变。感谢您的尝试,我认为重现此问题的唯一方法是在本地机器上
    【解决方案2】:

    这个话题已经在另一个 SO 线程中讨论过:https://stackoverflow.com/a/35106069/2256927

    这可能会解决您的问题!

    【讨论】:

    • 感谢您的信息,我会尽快查看并告诉您是否有效
    • 主要问题和其他图形用户界面一样,如果你想从另一个线程更新图形用户界面,你不能,对于角度来说,这可以用 NgZone 解决
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-07
    • 2017-11-06
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 1970-01-01
    相关资源
    最近更新 更多