Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ng提交后AngularJS$scope表单属性未定义_Javascript_Angularjs_Angularjs Scope_Angularjs Routing - Fatal编程技术网

Javascript ng提交后AngularJS$scope表单属性未定义

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">

我从Angular开始,我仍然对语法和许多不同的编码方式感到非常困惑

我最新的问题是,当我提交表单时,我无法通过执行
$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)
}
}]);