我有角度ng-repeat指令的问题.目前我在一些项目上工作,从API我得到一个项目列表(有时可能是1k项目),这个列表应该每5秒刷新一次(它是监视相关项目).
当列表长度稍微大一点时,网站重新渲染DOM可能会"慢".结果是角度再生整个DOM(但95%的项目是相同的!)
其中一种可能的方法是将"track by"表达式设置为item.id. 但是这里出现了另一个问题,我还想要重新生成项目,例如其他用户更改了描述.由于track by表达于item.id,因此item.description中的更改未更新DOM中的项目.
有办法跟踪多个属性?也许有些功能?或者也许用"手"做比较?
任何想法,代码样本我会很感激:)
UPDATE
我发现当我设置跟踪到item.id angular时没有为项目重新创建html,只更新已经创建的元素中的值,它似乎"更快"然后删除和创建.以前我虽然有点不同.
固定
对于那些希望通过item.id在ng-repeat USE 轨道上超过> 1k项目获得更好性能的人来说,它将提升你的表现;)
我目前正在金字塔中的某个项目上工作,并且在wtforms SelectField方面存在问题.
我有一个3个SelectField字段:
我可以在视图中加载car_make选项.其余SelectFields(car_model,car_version)的选择我将通过AJAX/javascript在客户端加载(我可以在选择car_make时选择car_model等等).
问题是,当我提交表单时,car_model和car_version会引发"无效选择",因为(在SelectField.pre_validation第431行中)self.choices为空.
我怎样才能解决这个问题?
我应该替换while True我的代码(没有asyncio)或者我应该使用asyncio事件循环来完成相同的结果.
目前我在某种与"zeromq"连接的"worker"上工作,接收一些数据,然后对外部工具(服务器)执行一些请求(http).一切都写在正常的阻塞IO中.使用asyncio事件循环摆脱是否有意义while True: ...?
将来它可能会在asyncio中完全重写,但现在我害怕从asyncio开始.
我是asyncio的新手,并不是这个库的所有部分对我来说都很清楚:)
谢谢 :)
我对CActiveRecord.rules有疑问
public function rules(){
return array(
array('photo_path', 'required', 'on'=>'insert'),
array('photo_path', 'file', 'types'=>'jpg, gif, png', 'allowEmpty'=>true),
);
}
只有在创建模型时才需要Photo_path,在更新视图中它可以为空.
我不知道发生了什么,但一小时前它有效,但现在却没有.当我选择文件时,我得到'照片路径不能为空'
请帮忙 :)