'controller' 的参数不是函数,未定义
Argument with 'controller' is not a function, got undefined
我发现了类似的问题,但没有得到解决方案,所以我 post 有一个问题。
我一直在 angular js 中实现和显示数据库中的数据,下面是 mu 代码。
index.php 文件:
<header>
<script type='text/javascript' src='local-path/js/angular.min.js?ver=4.9.5'></script>
<script type='text/javascript' src='local-path/js/angular-route.min.js?ver=4.9.5'></script>
<script type='text/javascript' src='local-path/js/scripts.js?ver=4.9.5'></script>
</header>
<div ng-controller="mycontrollermenu">
First Name: {{firstname}}
</div>
<div ng-view></div>
<footer></footer>
script.js:
var app = angular.module('wp',['ngRoute',' ']);
app.config(function($routeProvider, $locationProvider){
$routeProvider
.when('/', {
templateUrl : localized.partials + 'main.php',
controller : 'Main'
})
.when('/:slug', {
templateUrl: localized.partials + 'content.html',
controller: 'Content'
})
.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(true);
});
app.controller('Main',function($scope, $http, $routeParams){
$http.get('wp-json/wp/v2/posts/').success(function(res){
$scope.posts = res;
});
});
app.controller('Content',
['$scope', '$http', '$routeParams', function($scope, $http, $routeParams) {
$http.get('wp-json/wp/v2/posts/?slug=' + $routeParams.slug).success(function(res){
$scope.post = res[0];
});
}
]
);
app.filter('removeHTMLTags', function() {
return function(text) {
return text ? String(text).replace(/<[^>]+>/gm, '') : '';
};
});
app.controller('mycontrollermenu',function($scope){
$scope.firstname = "Menu 1";
});
我已将控制器 mycontrollermenu 添加到索引和 js 文件中,但该文件不起作用,并出现类似这样的错误
"Argument 'mycontrollermenu' is not a function, got undefined"
任何人都可以指导我在 "mycontrollermenu" 控制器中做错了什么吗?
几个问题,
ng-app
需要在根元素上。把你的 HTML 包装成 <div ng-app="wp">...<div>
localized
是全局变量?它既没有注入也没有声明。
模块定义中有一个空字符串。忘记包含依赖项?
var app = angular.module('wp',['ngRoute',' ']);
Here 我有一个 fiddle 使用你的代码。
尝试像 MenuController.js
一样创建一个新的 .js
文件并添加相同的
app.controller('mycontrollermenu',function($scope){
$scope.firstname = "Menu 1";
});
并在您的 index.html 中添加 <script type='text/javascript' src='MenuController.js'></script>
我发现了类似的问题,但没有得到解决方案,所以我 post 有一个问题。 我一直在 angular js 中实现和显示数据库中的数据,下面是 mu 代码。
index.php 文件:
<header>
<script type='text/javascript' src='local-path/js/angular.min.js?ver=4.9.5'></script>
<script type='text/javascript' src='local-path/js/angular-route.min.js?ver=4.9.5'></script>
<script type='text/javascript' src='local-path/js/scripts.js?ver=4.9.5'></script>
</header>
<div ng-controller="mycontrollermenu">
First Name: {{firstname}}
</div>
<div ng-view></div>
<footer></footer>
script.js:
var app = angular.module('wp',['ngRoute',' ']);
app.config(function($routeProvider, $locationProvider){
$routeProvider
.when('/', {
templateUrl : localized.partials + 'main.php',
controller : 'Main'
})
.when('/:slug', {
templateUrl: localized.partials + 'content.html',
controller: 'Content'
})
.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(true);
});
app.controller('Main',function($scope, $http, $routeParams){
$http.get('wp-json/wp/v2/posts/').success(function(res){
$scope.posts = res;
});
});
app.controller('Content',
['$scope', '$http', '$routeParams', function($scope, $http, $routeParams) {
$http.get('wp-json/wp/v2/posts/?slug=' + $routeParams.slug).success(function(res){
$scope.post = res[0];
});
}
]
);
app.filter('removeHTMLTags', function() {
return function(text) {
return text ? String(text).replace(/<[^>]+>/gm, '') : '';
};
});
app.controller('mycontrollermenu',function($scope){
$scope.firstname = "Menu 1";
});
我已将控制器 mycontrollermenu 添加到索引和 js 文件中,但该文件不起作用,并出现类似这样的错误 "Argument 'mycontrollermenu' is not a function, got undefined"
任何人都可以指导我在 "mycontrollermenu" 控制器中做错了什么吗?
几个问题,
ng-app
需要在根元素上。把你的 HTML 包装成<div ng-app="wp">...<div>
localized
是全局变量?它既没有注入也没有声明。模块定义中有一个空字符串。忘记包含依赖项?
var app = angular.module('wp',['ngRoute',' ']);
Here 我有一个 fiddle 使用你的代码。
尝试像 MenuController.js
一样创建一个新的 .js
文件并添加相同的
app.controller('mycontrollermenu',function($scope){
$scope.firstname = "Menu 1";
});
并在您的 index.html 中添加 <script type='text/javascript' src='MenuController.js'></script>