这是我第一次使用AngularJs。ng-style
我在设置表达式时遇到问题,我尝试ng-style
通过item.variable_name
<div class="col-lg-4" ng-repeat="item in MenuModel"
ng-style="item.variable_name"
ng-mouseover="onMouseOver(item.color,item.variable_name)" >
<div class="col-md-12 sub-menu" ng-click="clickmenu(item.id)" >
<div class="row">
<div class="col-xs-3 menu-icon" style="background-color:{{item.color}};" >
<img class="img-icon" src="~/Resources/{{item.icon}}" />
</div>
<div class="col-xs-9" style="display:inline-block">
<h3 style="color:{{item.color}};">{{item.menu_name_th}}</h3>
</div>
</div>
</div>
</div>
</div>
像这样在Anglar.js中添加样式
$scope.onMouseOver = function (color, variable_name) {
$scope.variable_name = {
'box-shadow': "0 4px 8px 0 " + color + ", 0 6px 20px 0 rgba(0, 0, 0, 0.19) "
};
}
我认为设置方法$scope.variable_name
是错误的方法您对我有什么建议吗?谢谢
您不需要更改item.variable_name
,而无需更改$scope.variable_name
。将该项目传递到函数中,然后更改variable_name
:
$scope.onMouseOver = function (item) {
item.variable_name = { 'box-shadow': "0 4px 8px 0 " + item.color + ", 0 6px 20px 0 rgba(0, 0, 0, 0.19) " };
}
ng-mouseover="onMouseOver(item)"
非常感谢。我得到了正确的值,但是阴影颜色没有改变
检查演示是否正常:demo
谢谢你帮我 我改成
ng-style
了ng-style="{'box-shadow': item.variable_name}"
,它可以工作了!