|
610 | 610 | // If path was index into array...
|
611 | 611 | if (itemsIdx == parseInt(itemsIdx, 10)) {
|
612 | 612 | let itemSubPath = dot < 0 ? '' : itemsPath.substring(dot+1);
|
613 |
| - // See if the item subpath should trigger a full refresh... |
614 |
| - if (!this.__handleObservedPaths(itemSubPath)) { |
615 |
| - // If not, forward to the instance for that index |
616 |
| - let instIdx = this.__itemsIdxToInstIdx[itemsIdx]; |
617 |
| - let inst = this.__instances[instIdx]; |
618 |
| - if (inst) { |
619 |
| - let itemPath = this.as + (itemSubPath ? '.' + itemSubPath : ''); |
620 |
| - // This is effectively `notifyPath`, but avoids some of the overhead |
621 |
| - // of the public API |
622 |
| - inst._setPendingPropertyOrPath(itemPath, value, false, true); |
623 |
| - inst._flushProperties(); |
624 |
| - } |
| 613 | + // If the path is observed, it will trigger a full refresh |
| 614 | + this.__handleObservedPaths(itemSubPath) |
| 615 | + // Note, even if a rull refresh is triggered, always do the path |
| 616 | + // notification because unless mutableData is used for dom-repeat |
| 617 | + // and all elements in the instance subtree, a full refresh may |
| 618 | + // not trigger the proper update. |
| 619 | + let instIdx = this.__itemsIdxToInstIdx[itemsIdx]; |
| 620 | + let inst = this.__instances[instIdx]; |
| 621 | + if (inst) { |
| 622 | + let itemPath = this.as + (itemSubPath ? '.' + itemSubPath : ''); |
| 623 | + // This is effectively `notifyPath`, but avoids some of the overhead |
| 624 | + // of the public API |
| 625 | + inst._setPendingPropertyOrPath(itemPath, value, false, true); |
| 626 | + inst._flushProperties(); |
625 | 627 | }
|
626 | 628 | return true;
|
627 | 629 | }
|
|
0 commit comments