gpt4 book ai didi

javascript - 为什么angular js不会自动更新数字的两倍?

转载 作者:行者123 更新时间:2023-11-29 17:54:10 25 4
gpt4 key购买 nike

我是 angularjs 的绝对新手,我正在尝试编写一个代码,其中 html 应该自动显示我输入的数字的两倍 -

这是我的代码的样子 -

<!DOCTYPE html>
<html ng-app="myApp">
<head>
<link href="./style.css" rel="stylesheet"/>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js"></script>
</head>

<body>
<div ng-controller="frmCtrl">
<label>Name:</label>
<input type="text" ng-model="number" placeholder="Enter a name here">
<hr>
<h1>Hello {{twice}}!</h1>
</div>

<script>
app = angular.module("myApp", []);
app.controller("frmCtrl", function($scope) {
$scope.number = "2";
$scope.twice = 2*$scope.number;}
);
</script>
</body>
</html>

但是,此代码根本不起作用 - 当我更新输入框中的值时,两次不会自动更新,尽管最初它显示值 4 对应于 2 的两倍。

为什么会这样?是否有更好/正确的方法来实现我在这里想要实现的目标?

谢谢你的帮助

最佳答案

更好的方法是,您可以在更改number 值时修改两次 值。同样,您可以编写 number 输入字段的 ng-change 函数,并从 change 函数修改 twice 值。

<input type="text" ng-model="number" placeholder="Enter a name here" ng-change="updateTwice()"/>
<h1>Hello {{twice}}!</h1>

代码

$scope.updateTwice = function(){
$scope.twice = 2 * $scope.number;
}

另一种方法是将 两次 更改为函数。在 View 绑定(bind)上调用 两次,以便在每个摘要循环中进行评估,确保 View 上显示的内容是 number ng-model 的 2 倍。

<h1>Hello {{twice()}}!</h1>

代码

$scope.twice = function(){
return 2*$scope.number;
}

关于javascript - 为什么angular js不会自动更新数字的两倍?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40782006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com