以下行失败,单击图像时控制台显示“索引未定义”:
<img class="full-image" ng-click="addFavorite({{dish.id}})" ng-src="{{baseURL+dish.image}}" title="{{dish.name}}" >
但是,任何其他表达式都可以很好地解决插值问题。我甚至添加了这个以证明我可以展示菜肴ID:
<h2>{{dish.name}} {{dish.id}}
我得到了菜名,右边是浏览器上打印的菜单。
如果我将表达式交换为硬编码值(例如2),则函数addFavorite()在单击时运行正常:
<img class="full-image" ng-click="addFavorite(2)" ng-src="{{baseURL+dish.image}}" title="{{dish.name}}" >
阻止addFavorite()函数解析{{dish.id}}表达式的错误是什么?
答案 0 :(得分:1)
没有把手的ng-click工作的原因是因为它是一个Angular指令,它将解析一个表达式,而不需要把手。 NgSource采用字符串。要强制变量,您必须使用把手以防止硬编码。与Title属性相同。它不是一个指令,它希望传递一个字符串。当页面加载角度时,将解析把手并从$ scope插入正确的文本。希望有助于澄清这个问题。
答案 1 :(得分:0)
答案 2 :(得分:0)
尝试离开车把。只需使用ng-click="addFavorite(dish.id)"
。