2016-03-02 28 views
0

如何寫入多個html內聯表達式和條件。角度js內嵌表達式和條件

現狀

{{step}}值應該改變根據條件而滾動

我控制器

controller(){ 
$scope.step = 1; 
    $scope.sectionOneValue = 100; 
    $scope.sectionTwoValue = 200; 
    $scope.sectionThreeValue = 300; 

scroll function(){ 
    $scope.scrollValue = chaningValue 
} 
} 

內嵌角表達和條件

if scrollValue > sectionOneValue 
    step = 1; 
if scrollValue > sectionTwoValue 
    step = 2; 
if scrollValue > sectionThreeValue 
    step = 3; 

我瞄準這裏

{{ step | angular expression and condition }} 
+0

我很難理解你想要什麼。但是,每次更改scrollValue的值時,都可以更改控制器中的步驟值。或者使用基於scrollValue的當前值返回正確步長值的函數。 –

+0

寫內聯多表達式和條件的任何可能性? – ShibinRagh

+0

這太模糊了,無法回答。但無論如何,JavaScript代碼屬於控制器(或服務)。不是爲了觀點。控制器的重點在於提供可從視圖中調用/使用的功能和值。 –

回答

2

你應該來提取數據到控制器的所有工作。

例子:

在控制器:

$scope.getStep = function(scrollValue) { 
    if (scrollValue > sectionOneValue) { 
     return 1; 
    } else if (scrollValue > sectionTwoValue) { 
     return 2; 
    } else if (scrollValue > sectionThreeValue) { 
     return 3; 
    } 
} 

模板:

.... //scrollValue initialized to this moment 
<span ng-bind="getStep(scrollValue)"></span> 
.... 
+0

是的,它的另一個好主意 – ShibinRagh

+0

任何可能性寫內聯多個表達式和條件 – ShibinRagh

+0

你可以寫在雙大括號,但它會看起來很難看: {{scrollValue> sectionOneValue? 1 :(scrollValue> sectionTwoValue?2 :(scrollValue> sectionThreeValue?3:0))}} –