Javascript 尝试调用AngularJS上的函数时出错

Javascript 尝试调用AngularJS上的函数时出错,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我正在使用AngularJS、Monaca和Onsen UI构建一个跨平台应用程序 我试图从视图上的ng-click()调用控制器中的函数。但是,当我单击调用该函数的按钮时,会收到一条错误消息:“UncaughtReferenceError:checkUserLoginDetails未定义” 我的index.html如下所示 <!DOCTYPE HTML> <html ng-app="myApp"> <head> <!-- Usual scrip

我正在使用AngularJS、Monaca和Onsen UI构建一个跨平台应用程序

我试图从视图上的ng-click()调用控制器中的函数。但是,当我单击调用该函数的按钮时,会收到一条错误消息:“UncaughtReferenceError:checkUserLoginDetails未定义”

我的index.html如下所示

<!DOCTYPE HTML>
<html ng-app="myApp">
<head>
    <!-- Usual scripts goes here -->
    <script src="js/app.js"></script>
    <script src="js/login.js"></script>
    <script src="js/sharedProperties.js"></script>
</head>

<body>
    <ons-navigator var="myNavigator" page="login.html"></ons-navigator>
</body>
</html>
在我的mainapp.js中,我创建了一个包含所有控制器的模块——这同样适用于所有其他视图和控制器(由于不需要,再次从列表中省略),因此我怀疑问题是否在这里

var app = angular.module("myApp", ['onsen', 'sharedProperties', 'loginController']);

我还尝试了onclick而不是ng click,但bot会给出相同的错误消息。

如果ons页面是一个带有transclution的指令,由于带有transclude的指令创建了它们自己的作用域,因此函数在Transcludion正文中不可用。

您确定您的
部分
loginController
下吗?是的,我确定。我在该控制器上还有其他函数,例如,$watch()用于文本字段中的更改,它们都按预期工作。我的视图设置为…此处的我的部分您需要查看此内容。我们需要更多代码来查看那里的错误,因为没有理由
ng单击
不起作用,因此我希望查看html部分和应用程序部分。请检查是否所有东西都已正确初始化。是否可以尝试使用普通按钮而不是ons按钮。我只是想知道。在这种情况下,你能提出一个可能的解决方案吗?你可以尝试将逻辑从loginController移到ons页面指令中
var login = angular.module("loginController", []);
login.controller("LoginController", function($scope, $http, SharedProperties)
{   
    // Watch for changes in the User ID text field
    $scope.$watch('userID', function(newVal, oldVal)
    {
       // Code omitted but WORKING
    });

    // Check user Logins
    $scope.checkUserLoginDetails = function()
    {
        console.log("Getting here..."); // Not getting here
    }
});
var app = angular.module("myApp", ['onsen', 'sharedProperties', 'loginController']);