Javascript AngularJS将变量绑定到与该变量相关的数组
我是一名日本学生。所以我的英语不容易读。对不起 我用AngularJS制作素数列表。用户输入两个值,valFrom和valTo。该列表由两个数字组成 我想绑定到列表的输入值。当我输入输入时,列表会根据值动态变化。但事实并非如此。当我输入输入时,列表不会改变。我想将这些值绑定到列表 下面是我做的。值未排序,因为使用的是对象,而不是数组 这是index.html。Javascript AngularJS将变量绑定到与该变量相关的数组,javascript,angularjs,data-binding,Javascript,Angularjs,Data Binding,我是一名日本学生。所以我的英语不容易读。对不起 我用AngularJS制作素数列表。用户输入两个值,valFrom和valTo。该列表由两个数字组成 我想绑定到列表的输入值。当我输入输入时,列表会根据值动态变化。但事实并非如此。当我输入输入时,列表不会改变。我想将这些值绑定到列表 下面是我做的。值未排序,因为使用的是对象,而不是数组 这是index.html。 <!doctype html> <html lang="ja" ng-app="MYAPP"> <head
<!doctype html>
<html lang="ja" ng-app="MYAPP">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.0-rc.2/angular.min.js"> </script>
<script src="script.js"></script>
</head>
<body>
<div ng-controller="inputCtrl">
<h1>Make prime number list from {{fromVal}} to {{toVal}}</h2>
<input type="number" ng-model="fromVal"><br>
<input type="number" ng-model="toVal"><br>
<!-- prime numbers list -->
<div ng-controller="primeListCtrl">
<div ng-repeat="(val, flag) in primeFlags">
{{val}}</td><td>{{flag==true? "is prime": "isn't prime"}}
</div>
</div>
</div>
</body>
使素数列表从{fromVal}}到{{toVal}}
{{val}{{flag==true?“是质数”:“不是质数”}
script.js
angular.module('MYAPP', []).
controller('inputCtrl', function($scope){
$scope.fromVal = 10;
$scope.toVal = 50;
}).
controller('primeListCtrl', function($scope){
/*
If primeFlags[i + ""] is true, i is prime number.
Keys are string, values are boolean.
*/
$scope.primeFlags = {};
// fill with true
for(var i = 2; i <= $scope.toVal; i++){
$scope.primeFlags[i+""] = true;
}
// set false
for(var i = 2; i <= $scope.toVal; i++){
for(var j = 2; j < i; j++){
if(i%j === 0){
$scope.primeFlags[i+""] = false;
break;
}
}
}
});
angular.module('MYAPP',[])。
控制器('inputCtrl',函数($scope){
$scope.fromVal=10;
$scope.toVal=50;
}).
控制器('primeListCtrl',函数($scope){
/*
如果primeFlags[i+“”]为真,则i为素数。
键是字符串,值是布尔值。
*/
$scope.primeFlags={};
//充满真实
对于(var i=2;i您的素数列表是完全动态的吗?如果是,您可以在函数上创建素数列表,然后在中继器中使用该函数的结果:
$scope.primeFlags = function(){
var primeList = {};
// fill with true
for(var i = 2; i <= $scope.toVal; i++){
primeList[i+""] = true;
}
// set false
for(var i = 2; i <= $scope.toVal; i++){
for(var j = 2; j < i; j++){
if(i%j === 0){
primeList[i+""] = false;
break;
}
}
}
return primeList;
};
$scope.primeFlags=函数(){
var primeList={};
//充满真实
对于(var i=2;i>>您的素数列表是完全动态的吗?不是。多亏了您,我有了新的方法。我知道$scope中的一些函数会被调用,如果有任何更改的话。
<div ng-repeat="(val, flag) in primeFlags()">
app.controller('primeListCtrl', function($scope){
/*
If primeFlags[i + ""] is true, i is prime number.
Keys are string, values are boolean.
*/
var primeList = [];
// fill with true
for(var i = 0; i <= 1000; i++){
primeList[i] = {id: i, flag: true};
}
// set false
for(var i = 0; i <= 1000; i++){
for(var j = 2; j < i; j++){
if(i%j === 0){
primeList[i].flag = false;
break;
}
}
}
$scope.primeFlags = function(){
return primeList.slice($scope.fromVal, $scope.toVal);
};
});
<div ng-repeat="val in primeFlags()">
{{val.id}}—{{val.flag==true? "is prime": "isn't prime"}}
</div>