Javascript AngularJS$scope不推送信息并将其提供给视图';s ng重复

Javascript AngularJS$scope不推送信息并将其提供给视图';s ng重复,javascript,angularjs,Javascript,Angularjs,我已经做了一个小AngularJS应用程序。很简单 一切正常。在我看来,我有两个输入,我想把它们的值传递给ng repeat 这是我的控制器: LoginApp.controller("RegisterController", function($scope){ $scope.registerForm = [{ name : "Something", work : 'SomeWork', }]; $

我已经做了一个小AngularJS应用程序。很简单

一切正常。在我看来,我有两个输入,我想把它们的值传递给ng repeat

这是我的控制器:

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>