Angularjs 绑定到控制器内表单的角度JS
我有一个初始化如下的表单--Angularjs 绑定到控制器内表单的角度JS,angularjs,angularjs-scope,Angularjs,Angularjs Scope,我有一个初始化如下的表单-- angular.module("myApp",[]) .controller("myController",function($http,$scope){ //user is bound to the form inputs var i = $scope.userForm.inputb.$pristine; console.log(i); //expected to be true or false
angular.module("myApp",[])
.controller("myController",function($http,$scope){
//user is bound to the form inputs
var i = $scope.userForm.inputb.$pristine;
console.log(i); //expected to be true or false
console.log($scope.userForm);
console.log(userForm);
但第一个控制台输出发出消息-无法访问未定义的属性M
第二个控制台输出给出明显的消息“未定义”
有趣的是,第三个控制台输出确实给出了userForm对象!
这里发生了什么,为什么我不能按预期在控制器中按名称访问表单元素?为什么删除$scope会打印对象?这并不能解决问题,因为只有userForm.M.$pristine再次是“未定义的”
另外,我正在调试控制器中需要的东西。具体来说,这在视图中也不起作用,在视图中,如果未输入inputb,我想显示一条错误消息。嗯,表单似乎还没有初始化。正如您在中所看到的,超时时一切正常。但据我所知,$scope.userForm不打算以这种方式使用(在控制器init上)。它可用于:
请创建一个小提琴。这与本SO问题中解释的问题相同:[表单元素未出现在$scope][1][1]:
angular.module("myApp",[])
.controller("myController",function($http,$scope){
//user is bound to the form inputs
var i = $scope.userForm.inputb.$pristine;
console.log(i); //expected to be true or false
console.log($scope.userForm);
console.log(userForm);