2017-05-24 123 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