gpt4 book ai didi

javascript - 如何在 AngularJS 中将 ng-model 值检索到 Controller

转载 作者:行者123 更新时间:2023-12-03 10:58:46 25 4
gpt4 key购买 nike

我有一个简单的 View ,其中有一个输入文本字段,用户在其中输入他的姓名, Controller 必须检索该值并分配给 employeeDescription 变量。问题是 ng-model 值(来自输入)没有到达 Controller ,我只是尝试使用 $watch 就像 Radim Köhler 解释的 Cannot get model value in controller method in angular js但不起作用。我只是觉得这一定很简单。

也可以尝试从 $scope 中检索 name 变量(ng-model),例如 $scope.employeeDescription = $scope.name; 但没有' t 检索值,并且 Google Chrome 控制台没有给我任何有关该值的输出。有什么解决办法吗?

index.html

<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
</head>

<body ng-app='angularApp'>
<div ng-controller='nameController'>
<div>
Name <input type="text" ng-model='name' />
</div>

Welcome {{employeeDescription}}
</div>

<script type="text/javascript" src="angular.min.js"></script>
<script type="text/javascript" src="app.js"></script>
</body>
</html>

app.js

(function(angular) {
var myAppModule = angular.module('angularApp', []);

myAppModule.controller('nameController', function($scope) {
$scope.employeeDescription = name;
});

})(window.angular);

最佳答案

您的代码应该会失败,因为 Controller 中的“name”变量从未定义。您在代码中定义了两个变量: $scope.employeeDescription 和 $scope.name (在输入的 ng-model 中定义)。请注意,正在定义“$scope.name”,而不是“name”。

我的建议是只保留一个变量:

<div>
Name <input type="text" ng-model='employeeDescription' />
</div>

myAppModule.controller('nameController', function($scope) {
$scope.$watch('employeeDescription', function() {
console.log($scope.employeeDescription);
});
});

关于javascript - 如何在 AngularJS 中将 ng-model 值检索到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28177110/

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