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

标签 javascript angularjs

我想要浏览器控制台中的 $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/

相关文章:

javascript - 如何使用 AngularJS 从选择框中获取 ID

javascript - 为什么 parseFloat 接受奇怪的符号?

unit-testing - 使用 Karma w 的 Angular.js 代码覆盖率。 CoffeeScript

javascript - Highcharts 错误 #13 和 AngularJs

javascript - 如何发布 JSON 对象数组,其中每个对象 "containing"是上传的图像?

java - if 和 else-if 语句拒绝在 jquery 的 ajax 函数中工作

javascript - 检查 div 是否在页面上,如果不在则隐藏按钮

javascript - 带有 :src doesnt show up on first rendering 的 VUE 图像

json - 在 Hot Towel Angular 数据上下文中使用 return $q.when

javascript - ng-repeat 在 XMLHttpRequest 中定义绑定(bind)数据时不起作用