我有一个图像,其源是使用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) }}"

07-24 20:56