使用angularjs获取函数返回值

时间:2015-02-25 23:48:05

标签: javascript angularjs angularjs-directive angularjs-scope

我正在尝试将我的函数转换为结果并在页面上显示

这是我的功能:

$scope.convert = function(myUnit, myUnit2, distance){
    var result = 0;
    if(myUnit === "Kilometer"){
        if(myUnit2 === "Kilometer"){
            result = distance;
        }
        else if(myUnit2 === "Meter"){
            result = distance * 1000;
        }
        else if(myUnit2 === "Centimeter"){
            result = distance * 100000;
        }
        else if(myUnit2 === "Millimeter"){
            result = distance * 1000000;
        }
        else if(myUnit2 === "Mile"){
            result  = distance * 0.621371;
        }
        else if(myUnit2 === "Nautical Mile"){
            result = distance * 0.539957;
        }
    }
}

以下是调用函数的方法:

<button class="button button-block button-balanced" ng-click="convert(myUnit.thisunit, myUnit2.thisunit2, formData.distance)">
     Convert
</button>

这是我想要显示结果的地方:

<label class="item item-input" style="border-style: solid;
                border-color: black;">
     <span class="input-label">Result:</span>
     <p>DISPLAY RESULT HERE</p>
</label>

我很难显示结果......转换功能在我的控制器内:

myApp.controller('mainController', ['$scope', function($scope)

按钮和我想放置值的地方都在我的控制器范围内。帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

result分配给范围属性,例如

$scope.result = result;

并将其显示在模板中

<p>{{ result }}</p>

当我在这里时,让我向您介绍switch声明

var result = 0;
if(myUnit === "Kilometer"){
    switch (myUnit2) {
        case 'Kilometer' :
            result = distance;
            break;
        case 'Meter' :
            result = distance * 1000;
            break;
        // you get the idea
    }
}
$scope.result = result;