<li>HTML中有一個元素正在呼叫這樣的JS方法“SiteAssetStyleForShiftedAsset”
<li class="holder-white title-holder" data-ng-style="{{SiteAssetStyleForShiftedAsset()}}" data-ng-click="getSiteAssetDetailByAssetId(asset.id,asset.assetId,asset.jobPlantId, asset.siteAssetId, asset.uniqueKey, asset.plantId,asset.siteAssetGuidId);">
在 JS 中,我們像這樣定義了這個方法:
$scope.SiteAssetStyleForShiftedAsset = SiteAssetStyleForShiftedAsset;
function SiteAssetStyleForShiftedAsset() {
var isPPMJob = localStorage.getItem("IsPPMJob").toUpperCase();
var shiftingAsset = $scope.addClassForShiftingAsset;
if (isPPMJob == "FALSE") {
return { "margin-right": "50px" };
}
else if (isPPMJob == "TRUE") {
if (shiftingAsset == true || shiftingAsset == "true")
{
return { "margin-right": "50px" };
}
else {
return { "padding-right:": "15px" };
}
}
}
在宣告“ if (isPPMJob == "FALSE") ”的外部If條件中,邊距應用得很好但是當條件在“ else if (isPPMJob == "TRUE") ”中變為“ TRUE ”時,它沒有應用邊距。但是,所有陳述句中的警報都在起作用。唯一的問題是應用保證金。我還檢查了該元素,它顯示了data-ng-style="{"margin-right":"50px"}"但在視圖上沒有任何變化。
uj5u.com熱心網友回復:
我找到了解決這個問題的方法。問題在于我們使用像這樣的 data-ng-style 的 HTML 代碼
data-ng-style="{{SiteAssetStyleForShiftedAsset()}}"
而不是這個,我們必須像這樣使用它
data-ng-style="{'margin-right': SiteAssetStyleForShiftedAsset()}"
然后在 JS 控制器中只回傳邊距值,即“10px”、“50px”等
function 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";
}
}
uj5u.com熱心網友回復:
我沒有看到邊距問題,而是填充問題。您在引號內有一個冒號。回傳{“填充右:”:“15px”};
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/389063.html
標籤:javascript html css angularjs
上一篇:AngularJS:如何通過單擊所述按鈕來更改ng-repeat中的按鈕和其他元素?
下一篇:包含2個物件的選擇中的單獨值
