我有一个图像,其源是使用AngularJS动态设置的,如下所示:
ng-src="{{showEmbellishment(image.attrib)}}"
这将获取图像的属性并显示适当的装饰(装饰是图像)。这可以正常工作,没有任何问题。
现在,我有许多使用Angular HotKeys绑定到此页面的按键事件:
hotkeys.add({
combo: 'd',
description: 'Do something',
callback: function(event, hotkey) {
//perform some action
}
});
我的问题是,例如,当我按下添加为热键的'd'键时,它确实会执行要求的操作,但是我注意到
showEmbellishment()
再次被所有图像再次调用。这是一项开销,正在使d
按键操作变得较慢地完成。我读过单向绑定,但是我不确定如何实现它,这样每次按下不相关的动作键时都不会不必要地调用
showEmbellishment()
。任何解决此问题的指针将不胜感激!
最佳答案
One-time binding在这种情况下可以很好地工作:
ng-src="{{:: showEmbellishment(image.attrib) }}"