我使用JSON调用获取数据(图像列表和相关标题),并使用ng-repeat显示它,如下所示:
<div ng-repeat="x in records">
<img src='images/{{ x.img }}' alt='{{ x.txt }}'/>
</div>
当我将鼠标悬停在每个图像上时,我想设置一个$ scope变量,使用类似这样的东西:
<div ng-repeat="x in records">
<img ng-mouseover='$scope.txt = "{{ x.txt }}")' src='images/{{ x.img }}' alt='{{ x.txt }}'/>
</div>
此代码不起作用,因为&#34; {{x.txt}}&#34;被解释为一个字符串,并且txt $ scope变量的值设置为&#39; {{x.txt}}&#39;每一次......
当鼠标悬停在图像上时,如何设置此变量?
非常感谢您的建议!!
答案 0 :(得分:0)
首先,您无法在HTML中编写$scope
。
而不是写ng-mouseover='$scope.txt = "{{ x.txt }}")'
应该是这样的:
ng-mouseover='txt=x.txt'
但是,由于您使用ng-repeat
所以最终的解决方案是使用$parent
<img ng-mouseover="$parent.txt = x.txt" ng-init="txt=''" src='{{ x.img }}' alt='{{ x.txt }}'/>
或者你可以在ng-mouseover
上调用一些方法:
<img ng-mouseover="foo(x.txt)" src='{{ x.img }}' alt='{{ x.txt }}'/>
和
$scope.foo = function(txt){
$scope.txt = txt;
};