Javascript 尝试调用AngularJS上的函数时出错
我正在使用AngularJS、Monaca和Onsen UI构建一个跨平台应用程序 我试图从视图上的ng-click()调用控制器中的函数。但是,当我单击调用该函数的按钮时,会收到一条错误消息:“UncaughtReferenceError:checkUserLoginDetails未定义” 我的index.html如下所示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
<!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']);