zoukankan      html  css  js  c++  java
  • 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);

    }

    }

  • 相关阅读:
    基于Spring的集群会话共享方案-spring session
    Tensorflow 模型线上部署
    Dijkstra算法
    BFS和DFS
    图的基本概念
    排序5
    排序4
    排序3
    排序2
    排序1
  • 原文地址:https://www.cnblogs.com/forhell/p/9998003.html
Copyright © 2011-2022 走看看