【发布时间】:2022-01-14 08:46:32
【问题描述】:
我有一个 li 元素,我们在其中调用方法 SiteAssetStyleForShiftedAsset,如下所示:
<li class="holder-white title-holder" data-ng-style="{{SiteAssetStyleForShiftedAsset()}}">
...
</li>
在我们的 javascript 控制器中,它被这样调用:
function SiteAssetStyleForShiftedAsset() {
var isPPMJob = localStorage.getItem("IsPPMJob").toUpperCase();
var shiftingAsset = $scope.addClassForShiftingAsset;
if (isPPMJob == "FALSE") {
// it is working fine here. Margin is being applied correctly.
return { "margin-right": "50px" };
}
else if (isPPMJob == "TRUE") {
if (shiftingAsset.toUpperCase() == "TRUE")
{
//it is not working fine on this line. Margin is not being applied.
return { "margin-right": "50px" };
}
else {
return { "padding-right:": "15px" };
}
}
}
所以它在第一个 if (isPPMJob == "FALSE") 中工作正常,但在其他情况下,如果我们正在检查 shiftingAsset.toUpperCase() == "TRUE" 没有应用边距。
在所有条件下都尝试过警报,它们显示良好,但边距会导致问题。
【问题讨论】:
-
你有没有做一个console.log或者一个断点来测试你是否真的碰到了应用边距的代码行?
-
是的@JacobStamm 我在应用边距的行之前添加了一个警报,我还检查了元素,它显示了 data-ng-style="{"margin-right": "50px"}" 但在视图上没有任何改变!!!
-
由于第一个和第二个返回返回完全相同的值,这两个条件之间唯一可能不同的是
$scope.addClassForShiftingAsset的值。不是一个解决方案,但它是在某个地方寻找
标签: javascript html css angularjs