2017-05-24 17 views
0

私はSQRT$scope.$eval()にMathクラスを使用してPOWのような数学演算を実行しようとしていたが、仕事と常に未定義になっていませんでした。

コード:

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

...なぜあなたはこれをやっていますか? – Makoto

+0

新しいユーザーには気をつけてください。質問にフラグを立てますが、評価しないでください。 – Maher

+0

私は、計算が式に変わった後、そのような例の1つが "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