【发布时间】:2015-07-01 22:12:28
【问题描述】:
加载我的网页时,我收到以下错误:
Error: [ng:areq] Argument 'LFSTD' is not a function, got undefined
Uncaught ReferenceError: controller is not defined
我正在加载的网页在 body 标签中有 ng-app 属性,而 Ionic 标签有 ng-controller:
<body ng-app="ia">
[...]
<ion-side-menu-content ng-controller="LFSTD">
“ia”和“LFSTD”都在 app.js 中定义。该网页确实正确加载了以下静态文件
这是 app.js:
angular.module('ia', ['ionic'])
.run(function ($ionicPlatform) {
$ionicPlatform.ready(function () {
controller('LFSTD', function($scope, $ionicSideMenuDelegate) {
$scope.toggleLeft = function() {
$ionicSideMenuDelegate.toggleLeft();
};
});
});
})
我一直在为此苦苦挣扎,在 stackoverflow 和 ionic/angular 文档中潜伏了很长一段时间。值得一提的是,我的项目使用了 Django。知道可能导致这些错误的原因吗?
解决方案
angular
.module('ia', ['ionic'])
.config(function ($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'create.html',
controller: 'LFSTD'
})
}
.run(function ($ionicPlatform) {
$ionicPlatform.ready(function () {
controller('LFSTD', function($scope, $ionicSideMenuDelegate) {
$scope.toggleLeft = function() {
$ionicSideMenuDelegate.toggleLeft();
};
});
});
})
【问题讨论】:
-
如果您有语法错误(如意外令牌),模块将不会被创建
-
您确定您的
ionic.bundle.js已加载吗? -
@pankajparkar 当然,我在问题中添加了一个屏幕截图,显示控制台的网络选项卡。我还在玩的时候修改了这个问题,现在遇到了不同的错误。
-
你能添加你的控制器文件代码吗..
-
我不能直接在 app.js 中包含我的控制器吗?对不起,我对角度很陌生。控制器只在app.js中定义,可以在最后一段代码中看到。
标签: django angularjs module ionic-framework