Javascript AngularJS$scope不推送信息并将其提供给视图';s ng重复
我已经做了一个小AngularJS应用程序。很简单 一切正常。在我看来,我有两个输入,我想把它们的值传递给ng repeat 这是我的控制器:Javascript AngularJS$scope不推送信息并将其提供给视图';s ng重复,javascript,angularjs,Javascript,Angularjs,我已经做了一个小AngularJS应用程序。很简单 一切正常。在我看来,我有两个输入,我想把它们的值传递给ng repeat 这是我的控制器: LoginApp.controller("RegisterController", function($scope){ $scope.registerForm = [{ name : "Something", work : 'SomeWork', }]; $
LoginApp.controller("RegisterController", function($scope){
$scope.registerForm = [{
name : "Something",
work : 'SomeWork',
}];
$scope.RegisterSubmit = function($scope){
$scope.registerForm.push({
name : $scope.register.username,
work : $scope.register.password,
});
};
});
在这里,传递到注册表执行
的默认数据只是在页面中精细地呈现,但是当涉及到通过输入和点击按钮动态插入的数据时,注意控制台中没有输出错误。以下是我的看法:
<form >
<div class="row">
<div class="col-md-4">
<div ng-repeat="each in registerForm">
{{ each.name }}
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label for="">Username</label>
<input name="username" ng-model="register.username"
class="form-control"/>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="">Password</label>
<input name="password" type="password"
ng-model="register.password" class="form-control"/>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label >Password Confirm</label>
<input name="password" type="password"
class="form-control" />
</div>
<br />
<input ng-submit="RegisterSubmit()" type="submit" name="user-register"
class="btn btn-info btn-lg" value="Register"/>
</div>
</div>
</div>
<div class="col-md-4"></div>
<div class="col-md-4"></div>
</div>
</form>
{{each.name}
用户名
密码
密码确认
值得一提的是,控制器被正确地传递到DOM元素,因为默认的JSON数据刚刚显示,而且我的正文也已启动。从函数中删除
$scope
参数:
$scope.RegisterSubmit = function($scope /* here*/){
$scope.registerForm.push({
name : $scope.register.username,
work : $scope.register.password,
});
};
应该是这样的:
$scope.RegisterSubmit = function(){
$scope.registerForm.push({
name : $scope.register.username,
work : $scope.register.password,
});
};
由于调用函数时没有参数:ng submit=“RegisterSubmit()”
在函数中,它应该是未定义的
检查控制台,您会看到如下内容:
无法读取未定义的属性“registerForm”
另外,ngSubmit
是表单指令,而不是按钮指令:
<form
ng-submit="">
...
</form>
...
与此相反:
<input ng-submit="RegisterSubmit()"...
@Dalorzo说的话也是我注意到的第一件事。但我做的小提琴仍然不起作用。
我试着用一个普通的按钮。也许问题在于我忘记了关于ngSubmit的其他事情
也许这把小提琴能激励你:
注册为按钮
更新
@达洛佐搞定了。为了完整起见,这里是小提琴:
ngSubmit是表单指令,而不是按钮directive@Dalorzo对就这样!我知道这很简单
<form ng-submit="RegisterSubmit()"...
<input ng-click="RegisterSubmit()"...
<!-- trying with a regular button -->
<button
class="btn btn-info btn-lg"
data-ng-click="RegisterSubmit()"
type="button" name="user-register"
>
Register as Button
</button>