【发布时间】:2017-05-17 01:53:59
【问题描述】:
我正在尝试使用 ng-style 根据其数组索引有条件地设置 div 元素的背景位置。每个 div 都是使用 ng repeat 生成的。
在我的html页面中,我有以下代码sn-p:
<div style="position:absolute; z-index:1; width:100px; height:100px" ng-style="navigationStyleToilet(o)" ng-repeat="o in arr"></div>
在我的 controller.js 中,我有以下代码 sn-p:
$scope.navigationStyleToilet = [];
$scope.arr = [];
// get data from service.js
var categoryInfo = NavigationService.fnGetCategoryInfo(strCategoryName);
for (i = 0; i < categoryInfo.length; i++)
{
$scope.arr.push(i);
var targetImageX = categoryInfo[i].X;
var targetImageY = categoryInfo[i].Y;
$scope.navigationStyleToilet[i] = {
"background-position": targetImageX + " " + targetImageY
}
}
不幸的是,它给了我“TypeError: v2.navigationStyleToilet is not a function”的错误信息。
我尝试了几种不同的方法,但是我不能使用 ng-style 根据它们的数组索引有条件地设置 div 元素的背景位置。有谁知道我可以使这项工作的方法吗?谢谢。
【问题讨论】:
-
$scope.navigationStyleToilet 中有值吗?
-
价值观?基本上,$scope.navigationStyleToilet 是一个 div 的 ng 样式。将重复生成 div,我想根据其数组索引有条件地为每个 div 设置不同的背景位置。顺便说一句,我已经更新了我的问题,因为我忘了提到我已经声明并实例化了 $scope.navigationStyleToilet = [];
-
以下答案是根据更新后的问题!!!
标签: javascript css angularjs angularjs-scope angularjs-ng-repeat