我有一個 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") 中作業正常,但在 else 中如果我們正在檢查shiftAsset.toUpperCase () == "TRUE"沒有應用邊距。
嘗試在所有條件下發出警報,它們顯示正常,但邊距導致問題。
uj5u.com熱心網友回復:
我找到了解決這個問題的方法。問題在于我們使用像這樣的 data-ng-style 的 HTML 代碼
data-ng-style="{{SiteAssetStyleForShiftedAsset()}}"
而不是這個,我們必須像這樣使用它
data-ng-style="{'margin-right': SiteAssetStyleForShiftedAsset()}"
然后在 JS 控制器中只回傳邊距值,即“10px”、“50px”等
函式 SiteAssetStyleForShiftedAsset() {
var isPPMJob = localStorage.getItem("IsPPMJob").toUpperCase();
var shiftingAsset = $scope.addClassForShiftingAsset;
if (shiftingAsset == "false"){
//alert("abc");
return "10px";
//return { "padding-right:": "15px" };
}
else{
return "50px";
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/389068.html
標籤:javascript html css angularjs
