角度{{}}表达式无法在ng-click内部解析

时间:2016-09-22 00:34:12

标签: angularjs angularjs-directive ionic-framework

以下行失败,单击图像时控制台显示“索引未定义”:

<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}}表达式的错误是什么?

3 个答案:

答案 0 :(得分:1)

没有把手的ng-click工作的原因是因为它是一个Angular指令,它将解析一个表达式,而不需要把手。 NgSource采用字符串。要强制变量,您必须使用把手以防止硬编码。与Title属性相同。它不是一个指令,它希望传递一个字符串。当页面加载角度时,将解析把手并从$ scope插入正确的文本。希望有助于澄清这个问题。

答案 1 :(得分:0)

当您使用ng-click时,您不需要使用{{}}

更新:

对你有帮助 https://docs.angularjs.org/api/ng/directive/ngClick

答案 2 :(得分:0)

尝试离开车把。只需使用ng-click="addFavorite(dish.id)"