下面这行失败,点击图片时控制台显示"index is undefined“:
<img class="full-image" ng-click="addFavorite({{dish.id}})" ng-src="{{baseURL+dish.image}}" title="{{dish.name}}" >但是,任何其他表达式都可以很好地解决插值问题。我甚至添加了这个来证明我可以显示菜品id:
<h2>{{dish.name}} {{dish.id}}我得到了菜名,右边的菜品id在浏览器上打印出来。
如果我将表达式交换为硬编码值,例如2,则单击时函数addFavorite()运行正常:
<img class="full-image" ng-click="addFavorite(2)" ng-src="{{baseURL+dish.image}}" title="{{dish.name}}" >阻止addFavorite()函数解析{{dish.id}}表达式的错误可能是什么?
发布于 2016-09-22 08:36:01
发布于 2016-09-27 04:37:46
ng-click不需要handlebars的原因是因为它是一个Angular指令,可以解析表达式,也就是不需要handlebars。NgSource接受一个字符串。要强制一个变量,你必须使用句柄来防止它被硬编码。与Title属性相同。它不是一个指令,它需要传递一个字符串。当页面加载时,angular将解析车把并插入来自$scope的正确文本。希望这有助于澄清这个问题。
发布于 2016-09-22 08:37:03
试着去掉车把吧。只需使用ng-click="addFavorite(dish.id)"即可。
https://stackoverflow.com/questions/39628483
复制相似问题