我有以下视图和控制器。我只是想在我的ng-click处理程序(提交表单)中检查$ scope对象以进行双向数据绑定,但它始终是未定义的。
以下是我的观点:
<body ng-controller="efController" class="container">
<form role="form" class="form-horizontal">
<div class="form-group">
<label for="fullName" class="col-sm-3 control-label">Name</label>
<div class="col-sm-9">
<input type="text" id="name" name="name" class="form-control" ng-model="name" />
</div>
</div>
<input type="submit" class="btn btn-primary" value="Submit" ng-click="submitForm()" />
</form>
</body>
这是我的控制器:
app.controller("efController",
function ($scope) {
$scope.submitForm = function () {
//alert($scope.name);
}
}]);
如果我的submitForm()函数中没有任何内容,并且我在结束括号中设置了断点,那么$ scope总是在手表中未定义,但如果我只是使用$ scope.prop编写警报或访问任何模型属性,它总是很好。
我的问题是为什么在正确调用函数并且$ scope也被注入时它是未定义的?
编辑这里是视频的屏幕截图,其中的人正在检查手表中的$ scope,你可以信任我,我的代码与他的代码相差200%。这是关于复数符号http://www.pluralsight.com/courses/angularjs-forms-bootstrap-mvc5
的课程链接
编辑2:以下是plunkr John Papa。