Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS双向绑定。返回用户插入的输入_Javascript_Html_Angularjs_Input_Return - Fatal编程技术网

Javascript AngularJS双向绑定。返回用户插入的输入

Javascript AngularJS双向绑定。返回用户插入的输入,javascript,html,angularjs,input,return,Javascript,Html,Angularjs,Input,Return,用户在HTML中插入值: </div>`<div ng-app="xpCalc" ng-controller="Xp Calculator"> <p>Insert your current Level <input type="number" ng-model="currentLevel"></p> <h2>{{$scope.currentXp}}</h2> </div>` 但不知何故,我看

用户在HTML中插入值:

</div>`<div ng-app="xpCalc" ng-controller="Xp Calculator">

<p>Insert your current Level  <input type="number" ng-model="currentLevel"></p>

<h2>{{$scope.currentXp}}</h2>

</div>`
但不知何故,我看不到视图中的结果。有什么问题吗?

使用

<div ng-app="xpCalc" ng-controller="xpCalculatorController">

<p>Insert your current Level  <input type="number" ng-model="currentLevel"></p>

<h2>{{currentXp()}}</h2>

</div>

插入当前级别

{{currentXp()}}

var-app=angular.module('xpCalc',[]);
应用控制器('xpCalculatorController',函数($scope){
$scope.currentLevel=1;
$scope.currentXp=function(){
var输出=0;

对于(var thisLVL=1;thisLVL=
是反向的和无限的,更改为
,我会这样做

angular.module('xpCalc')
  .controller('FooCtrl', function($scope) {
       $scope.calculate = function(currentLevel) {
           $scope.currentXp = 0;
           for (var thisLVL = 1; thisLVL <= currentLevel; thisLVL++) {
               $scope.currentXp += (Math.floor(thisLVL + 300 * Math.pow(2, thisLVL / 7)) / 4);
           }
       };
  });
angular.module('xpCalc'))
.controller('FooCtrl',函数($scope){
$scope.calculate=函数(currentLevel){
$scope.currentXp=0;
对于(var thisLVL=1;thisLVL溶液:

HTML:

插入当前级别

{{currentXp()}}
JAVASCRIPT:

$scope.currentLevel;
$scope.currentXp=function(){
   if ($scope.currentLevel) {
     var output=0;        
     for (i =1; i < $scope.currentLevel; i++) {
         output += ( Math.floor ( i + 300 * Math.pow( 2, i / 7 ) ) / 4 );
     }
     return output
   }
}
$scope.currentLevel;
$scope.currentXp=function(){
if($scope.currentLevel){
var输出=0;
对于(i=1;i<$scope.currentLevel;i++){
输出+=(数学楼层(i+300*数学功率(2,i/7))/4);
}
返回输出
}
}

链接:

首先你不需要在
{}
中使用
$scope
,其次
currentXp
是一种方法,所以你必须使用
currentXp()
有一些错误,但为了帮助您,我需要了解您试图做什么。您是否试图对用户的输入执行某种计算?可能是因为您在
return
实际计算输出之前中断了循环?Randi Radcliff,是的,我正在对n用户输入。@OsmanCea:不,你不能用这种方式中断
for
循环…循环一直到达到插入值,比如说50,然后停止。该值是从1到50的所有级别的总和。我尝试了你的方法,但它仍然显示{{currentXp()}我将
=
更改为
是的,它在pllunkr上工作,但不知何故我无法在index.html页面上显示,我使用的文本编辑器是sublime 3。但是知道代码很好,我真的非常感谢你
angular.module('xpCalc')
  .controller('FooCtrl', function($scope) {
       $scope.calculate = function(currentLevel) {
           $scope.currentXp = 0;
           for (var thisLVL = 1; thisLVL <= currentLevel; thisLVL++) {
               $scope.currentXp += (Math.floor(thisLVL + 300 * Math.pow(2, thisLVL / 7)) / 4);
           }
       };
  });
  <div ng-controller="FooCtrl">
     <p>Insert your current Level
         <input type="number" ng-model="currentLevel">
     </p>
     <button type="button" ng-click="calculate(currentLevel)">Calcular</button>
     <div ng-show="currentXp !== undefined">
         <h2>{{currentXp}}</h2>
     </div>
  </div>
<p>Insert your current Level  <input type="number" ng-model="currentLevel"></p>
<h2>{{currentXp()}}</h2>
$scope.currentLevel;
$scope.currentXp=function(){
   if ($scope.currentLevel) {
     var output=0;        
     for (i =1; i < $scope.currentLevel; i++) {
         output += ( Math.floor ( i + 300 * Math.pow( 2, i / 7 ) ) / 4 );
     }
     return output
   }
}