AngularJS在单击按钮时未调用函数

AngularJS在单击按钮时未调用函数,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我正在使用AngularJD将数据插入mongoose数据库。我的索引文件有一个div: <div id="links" ng-controller="loginController"> <a ui-sref="login">Login</a> <a ui-sref="register">Register</a> </div> 当我调试时,它记录的是“内部”,而不是“添加新条目”。您的问题是在registe

我正在使用AngularJD将数据插入mongoose数据库。我的索引文件有一个div:

<div id="links" ng-controller="loginController">
    <a ui-sref="login">Login</a>
    <a ui-sref="register">Register</a>
</div>

当我调试时,它记录的是“内部”,而不是“添加新条目”。

您的问题是在
register.html
路由模板内的表单上创建
ng应用程序。使用
ng app=“login”
建立应用程序的元素应包含其他所有内容。因此,您的
loginController
(将通过
ng controller=“loginController”
进行实例化)不会实际创建,因为它位于应用程序之外

编辑
我刚刚注意到您说“inside”被记录,这实际上意味着
loginController
正在被实例化。我猜您已经在
链接
分区周围的其他包含上下文中建立了另一个
ng应用程序
。但是,我仍然认为您的问题是您正在
register.html
中的表单上创建一个新的
ng应用程序
。我很确定你不能把一个有角度的应用程序嵌套在另一个应用程序中。最好的情况是,这将中断表单中的
loginController
上下文(它可能做得更多/更糟)。无论如何,我认为
ng app
声明是你的问题。

我没有看到
ng controller=“loginController”
包装表单。你只是在这里省略了吗?没有完整的上下文也不确定你的问题是什么。这是一把工作小提琴,基本上是你所拥有的:
<form ng-app="login" name="myForm" ng-submit="addNew()" novalidate>
   <p>
      <input type="submit"
          ng-disabled="myForm.lname.$dirty && myForm.lname.$invalid ||
          myForm.fname.$dirty && myForm.fname.$invalid ||
          myForm.mail.$dirty && myForm.mail.$invalid ||
          myForm.pwd.$dirty && myForm.pwd.$invalid ||
          myForm.cpwd.$dirty && myForm.cpwd.$invalid">
    </p>
</form>
function loginController($scope)
{
    console.log('inside');
    $scope.addNew = function()
    {
        console.log('adding new entry');
        var newuser = {
            username: $scope.NewUname,
            firstname: $scope.fName,
            lastname: $scope.lName,
            email: $scope.mail,
            $password: $scope.pwd
        }

    }
}