2017-06-20 39 views
0

我需要將參數從我的html傳遞給js,並將返回值顯示爲文本。如何在html中提供參數並調用js函數,並根據條件將結果顯示爲文本

注: 這是一個角度頁

我的HTML代碼如下所示

<div data-ng-if="status.countWip" class="wip-count"> 
    test((status.countWipMin, status.countWipMax, kanbanboard.itemsCount[status.name]) 
</div> 

我的js函數


function test(minCount, maxCount, artifactCount) { 
if(minCount !== -1 && artifactCount < minCount) { 
    document.write("["+artifactCount+"/"+minCount+"]"); 
    } else if (maxCount !== -1 && artifactCount > maxCount) { 
    document.write("["+artifactCount+"/"+maxCount+"]"); 
    } 
}; 
+1

如果這是角度爲什麼你使用'document.write'。你可以用'$ scope'的角度方式做到這一點' –

回答

1

你有你的angularjs功能綁定使用{{}}和該函數的視圖應該在您的作用域上定義。

HTML:

<div data-ng-if="status.countWip" class="wip-count"> 
     {{test((status.countWipMin, status.countWipMax, kanbanboard.itemsCount[status.name])}} 
</div> 

Angularjs

$scope.test=function(minCount, maxCount, artifactCount) { 
    if(minCount !== -1 && artifactCount < minCount) { 
     return ("["+artifactCount+"/"+minCount+"]"); 
     } else if (maxCount !== -1 && artifactCount > maxCount) { 
     return ("["+artifactCount+"/"+maxCount+"]"); 
     } 
    }; 
+0

爲我工作:) – Cathy12341

+0

接受答案,如果它幫助:) – Vivz

1

我認爲你是混合角與本地JavaScript這是不是這種情況下是個好主意。如果這不是棱角分明,只是一個普通的JavaScript,那麼你應該換行test()功能與<script>標籤和document.write將取代div

<div> 
    <script>test(status.countWipMin, status.countWipMax, kanbanboard.itemsCount[status.name])</script> 
</div> 

反正內容,這是你的理解。以下是你如何以角度的方式。

在角方式,

你的商標

<div data-ng-if="status.countWip" class="wip-count"> 
    {{test((status.countWipMin, status.countWipMax, kanbanboard.itemsCount[status.name])} 
</div> 

移動的test功能的controller和使用$scope

$scope.test = function(minCount, maxCount, artifactCount){ 
    if(minCount !== -1 && artifactCount < minCount) { 
    return "["+artifactCount+"/"+minCount+"]"; 
    } else if (maxCount !== -1 && artifactCount > maxCount) { 
    return "["+artifactCount+"/"+maxCount+"]"; 
    } 
} 
+0

非常感謝。它的工作 – Cathy12341

+0

高興地幫助@RemyaNair。請將此設置爲正確答案並註冊。 –

0

您需要使用ng-init當你想從您的視圖調用一個函數,在您的控制器,您可以使用void功能綁定$scope.result顯示視圖

的Html

<div data-ng-if="status.countWip" class="wip-count" ng-init="test((status.countWipMin, status.countWipMax, 
    kanbanboard.itemsCount[status.name])"> 
    {{result}} 
</div> 

$scope.test=function(minCount, maxCount, artifactCount) { 
    $scope.result; 
    if(minCount !== -1 && artifactCount < minCount) { 
     $scope.result= ("["+artifactCount+"/"+minCount+"]"); 
     } else if (maxCount !== -1 && artifactCount > maxCount) { 
     $scope.result= ("["+artifactCount+"/"+maxCount+"]"); 
    } 
}; 
相關問題