• 2018-11-21 ko.pureComputed的使用


    以前一直在想,ko.pureComputed 好像用不上。看起来高大上。

    今天在修复一个bug时,发现了它的妙处。

    在修改商品列表的页面,弹出一个新增商品的页面。关闭之后,怎么通知修改商品列表的页面发生改变。

    也许都会说用root.vm里面的列表。这样的改动就太大了。

    因为商品列表是有序号的,我刚好用到了index(),出现了跳号,

    原来是

    商品列表:

    viewmodel(params){

    var items = vm.getitems(typeno);

    this.items = items;

    this.typeno = typeno

    }

    template

    <!--ko foreach:vm.orderitems-->

    <!--ko if:$data.typeno === this.typeno-->

    <span data-bind="text:$index()+1"></span>

    <!--/ko-->

    <!--/ko-->

    改成了

    <!--ko foreach:items-->

    <span data-bind="text:$index()+1"></span><!--/ko-->

    <!--/ko-->

    但是修改了之后,通知了vm.orderitems改变,却无法通知this.items 改变。

    后面使用了ko.pureComputed

    完美解决这个问题。

    viewmodel(params){

    this.items = ko.pureComputed(function(){

    return items = vm.getitems(typeno);

    }

    }

  • 相关阅读:
    gitlab 重置密码
    _string 灵活查询
    删除前面,删除后面
    HTTPS
    PHP正则匹配价格
    PHP LUHN算法验证银行卡
    PHP 与操作判断奇偶
    PHP与Cookie
    检查字符串是否存在
    php密码正则匹配
  • 原文地址:https://www.cnblogs.com/forhell/p/9998003.html
Copyright © 2020-2023  润新知