gpt4 book ai didi

javascript - 当表单提交 AngularJs 时,$scope.variable 在浏览器控制台中未定义

转载 作者:行者123 更新时间:2023-12-03 03:47:48 24 4
gpt4 key购买 nike

我想要浏览器控制台中的 $scope.variable 值,但它总是出现未定义。

表单.htm

<form>
<p>First Name: <input type="text" name="firstName" ng-model="firstName"
required /></p>

<button ng-click="SendData()">Submit</button>
</form>

myctr.js

app.controller('myCtrl', ['$scope', '$http', 'ngCart', '$localStorage',
'$sessionStorage', '$window',
function($scope, $http, ngCart, $localStorage,
$sessionStorage, $window) {
$scope.SendData = function() {
console.log($scope.firstName)
$window.alert($scope.firstName)
};
}
]);

最佳答案

可能的问题是您使用的是简单的字符串值 $scope.firstName 。如果您的输入在 DOM 层次结构中“更深”不止一个范围,那么您的 $scope.firstNameng-model输入中变成两个自变量,所以难怪你会得到 $scope.firstName不明确的。这是简单类型和范围继承的典型问题。解决这个问题的可能方法是:

  • 使用对象在 Controller 和模板之间绑定(bind)数据:$ctrl.user.firstName<input ng-model="user.firstName" >.
  • 使用“controllerAs”语法。

controllers 的文档中了解更多相关信息和 scopes .

关于javascript - 当表单提交 AngularJs 时,$scope.variable 在浏览器控制台中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45298755/

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