2017-05-24 117 views
0

我试图执行喜欢用数学类$scope.$eval()开方战俘数学运算,但没有工作,始终得到不确定的。数学表达式

代码:

$scope.$eval("Math.sqrt(34)") 
+0

...你为什么要这么做? – Makoto

+0

男性请耐心等待新用户,标记问题但不评分。 – Maher

+0

我有一个变量,经过计算后变成表达式,其中一个例子是“43 + 48-Math.sqrt(8)”。 – robinhood

回答

1

此示例如何在你的控制器使用$ EVAL,还可以提高你的函数来得到你想要的。

var app = angular.module("app", []); 
 

 
app.controller("ctrl", function($scope){ 
 
    $scope.sqrt = function(number){ 
 
     return Math.sqrt(number) 
 
    }; 
 
    
 
    var sqrt = $scope.$eval('sqrt'); 
 
    $scope.result = sqrt(34); 
 
    console.log(sqrt(34)); 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app="app" ng-controller="ctrl"> 
 
    {{result}} 
 
</div>

+0

谢谢!寻找相同的。我认为Math.sqrt和其他方法来角表达。 – robinhood

+0

欢迎你的朋友。 – Maher