对象数组的ng-repeat产生$$哈希

时间:2015-07-02 20:25:17

标签: javascript angularjs parse-platform ng-repeat

我正在使用的数据示例:

[
  {  
   objectId: "lBrweaVVKd"
   url: "http://files.parsetfss.com/5f0d29c3-6b71-4029-8bd8-c2db01a82bbc/tfss-cf720b16-08f9-46ed-b23e-1e626aImage"
  },
  {
   objectId: "lBrweaVVKd"
   url: "http://files.parsetfss.com/5f0d29c3-6b71-4029-8bd8-c2db01a82bbc/tfss-cf720b16-08f9-46ed-b23e-1e626aImage"
  }
]

并在我的模板中使用ng-repeat,如下所示:

<div ng-repeat="image in activeExercise.images track by $index" ng-model="activeExercise.images">
    <img ng-if="isNumber(image)" src="http://file.s3.amazonaws.com/medium/{{image}}.jpg" />
    <img ng-if="!isNumber(image)" src="{{image.url}}"></div>
</div>

(我从两个位置返回我的图片,一个是本地的,只是一个图像,另一个是parse.com,这是一个URL,因此我的ng-if不确定这是否导致我的问题?)

当我将其推入数组时,ng-repeat正在生成$$hash

问题是Parse.com拒绝任何包含$的内容

==编辑== 这是track by $index不生成$$hash

的代码示例
    <ion-slide ng-repeat="sliderimage in activeExercise.images track by $index">
        <div ng-if="isNumber(sliderimage)" image-lazy-src="http://rehabgurufiles.s3.amazonaws.com/medium/{{sliderimage}}.jpg"></div>
        <div ng-if="!isNumber(sliderimage)" class="modalSliderThumbnail" image-lazy-src="{{sliderimage.url}}"></div>
    </ion-slide>

==编辑2 == 帮助多一点:

这会收到一个数字:

<div ng-if="isNumber(sliderimage)" image-lazy-src="http://urufiles.s3.amazonaws.com/medium/{{sliderimage}}.jpg">

这会收到如上所述的对象:

<img ng-if="!isNumber(image)" src="{{image.url}}"></div>

1 个答案:

答案 0 :(得分:0)

Angular添加了$$ hashKey See this SO post

在发送要解析的数据之前,您需要删除它。在发送数据之前,delete itm.$$hashKey将在您的函数中起作用