【发布时间】:2016-08-11 06:09:33
【问题描述】:
我最近一直在使用 JsViews。但我遇到了 $.observable(array).refresh()
的问题假设我有一个对象数组
countries = [
{country : 'India'},
{country : 'USA'},
{country : 'Africa'}
]
当我使用模板循环遍历数组中的每个元素时,它会根据我的要求呈现内容,但是当我查看 HTML 结构时,它会显示如下。
<html>
<body>
<script type="jsv#1"></script>
<div class="country">India</div>
<script type="jsv/1"></script>
<script type="jsv#2"></script>
<div class="country">USA</div>
<script type="jsv/2"></script>
<script type="jsv#3"></script>
<div class="country">Africa</div>
<script type="jsv/3"></script>
</body>
<html>
但是当我在数组中获得一个新元素并将其推到顶部时。我有以下数组。
countries = [
{country : 'Canada'},
{country : 'India'},
{country : 'USA'},
{country : 'Africa'}
]
然后我申请
$.observable(countries).refresh(countries);
我得到的 html 结构是:
<html>
<body>
<script type="jsv#1"></script>
<script type="jsv/1"></script>
<script type="jsv#2"></script>
<script type="jsv/2"></script>
<script type="jsv#3"></script>
<script type="jsv/3"></script>
<script type="jsv#4"></script>
<div class="country">Canada</div>
<script type="jsv/4"></script>
<script type="jsv#5"></script>
<div class="country">India</div>
<script type="jsv/5"></script>
<script type="jsv#6"></script>
<div class="country">USA</div>
<script type="jsv/6"></script>
<script type="jsv#7"></script>
<div class="country">Africa</div>
<script type="jsv/7"></script>
</body>
<html>
这里没有删除标签“jsv#1”、“jsv#2”、“jsv#3”及其各自的结束标签。
我在 2012 年发布的 JsViews V1.0 中发现了这个问题。
这是正确的行为还是我应该采用不同的插入元素的方法。
谢谢。
【问题讨论】:
标签: javascript arrays observable jsviews