Javascript ng提交后AngularJS$scope表单属性未定义
我从Angular开始,我仍然对语法和许多不同的编码方式感到非常困惑 我最新的问题是,当我提交表单时,我无法通过执行Javascript ng提交后AngularJS$scope表单属性未定义,javascript,angularjs,angularjs-scope,angularjs-routing,Javascript,Angularjs,Angularjs Scope,Angularjs Routing,我从Angular开始,我仍然对语法和许多不同的编码方式感到非常困惑 我最新的问题是,当我提交表单时,我无法通过执行$scope.attribute\u name HTML <body ng-app="myApp"> <div ng-include src="'menu.html'"></div> <div id="container" ng-controller="MainController">
$scope.attribute\u name
HTML
<body ng-app="myApp">
<div ng-include src="'menu.html'"></div>
<div id="container" ng-controller="MainController">
<div ui-view></div>
</div>
</div>
<form name="form" name='teste' action="" ng-submit='login($event)'>
<input type="text" name='username' ng-model='user.username' required />
<input type="text" name='password' ng-model='user.password' required />
<button>Enviar</button>
</form>
它总是警告“未定义”
我可以通过执行以下操作获得值
$event.target.username
就像《流星》一样
有什么想法吗
@edit1
我添加了用户作为模型的对象
HTML
<body ng-app="myApp">
<div ng-include src="'menu.html'"></div>
<div id="container" ng-controller="MainController">
<div ui-view></div>
</div>
</div>
<form name="form" name='teste' action="" ng-submit='login($event)'>
<input type="text" name='username' ng-model='user.username' required />
<input type="text" name='password' ng-model='user.password' required />
<button>Enviar</button>
</form>
我仍然得到未定义的
<form name="form" name='teste' action="" ng-submit='login()'>
<input type="text" name='username' ng-model='user.username' required />
<input type="text" name='password' ng-model='user.password' required />
<button>Enviar</button>
</form>
谢谢始终…始终..始终在ng模型中使用对象…这是一条黄金法则。他所说的注释的意思是确保绑定到对象(例如:
),而不是像字符串那样的原始值(例如不要这样做:
)。问题是一些指令(ng if
,ng include
,等等)使用原型继承创建子作用域。当模型是基本值(与对象相反)时,这会中断绑定。这可能是人们遇到的最常见的问题。请阅读一些轻松的内容:我如何在控制器上访问用户名?我仍然没有定义您还需要在作用域上声明user
对象,以便任何子作用域都有一个要继承的对象。。。添加$scope.user={}代码>到控制器的第一行,以便在创建子作用域之前存在对象。
<form name="form" name='teste' action="" ng-submit='login()'>
<input type="text" name='username' ng-model='user.username' required />
<input type="text" name='password' ng-model='user.password' required />
<button>Enviar</button>
</form>
app.controller('MainController',['$scope',function($scope){
$scope.user={}; //DEFINE $scope variable if dot is given to variable.
$scope.login = function (){
alert($scope.user.username)
}
}]);