我有这个角度应用程序,我只运行我的网站的一个网页。 我有一个主应用程序,它使用我作为依赖项的另一个模块。
我遇到的问题是我的控制器内部没有任何内容正在运行。为什么我的控制器无法运行?
我的路线确实带来了视图但是我知道该模块正在运行。 我摆脱了我的数据服务,以确定它不是它。 函数输出前的 console.log ,但函数中没有任何内容运行。 我也有没有控制台错误。
app.js:
(function(){
'use strict';
var dependencies = [
'ghpg',
'ngRoute'
];
angular.module('blogger', dependencies)
.config(Config);
Config.$inject = ['$locationProvider']
function Config($locationProvider){
$locationProvider.hashPrefix('!');
}
if (window.location.hash === '#_=_'){
window.location.hash = '#!';
}
//bootstrap angular
angular.element(document).ready(function(){
angular.bootstrap(document, ['ghpg']);
});
})();
模块:
(function(){
'use strict';
var dependencies = [ 'ngRoute' ];
angular.module('ghpg', dependencies)
.run(init)
init.$inject = ['$rootScope','$location' ];
function init($rootScope, $location){
var vm = this;
}
})();
查看:
<div class="container-fluid" data-ngController="blogController as vm">
<h2> Articles </h2>
<div class="post-listing" data-ng-repeat=" post in vm.data">
<p> {{ post }} </p>
</div>
</div>
控制器: (功能(){ &#39;使用严格的&#39;;
angular
.module('ghpg')
.controller('blogController', blogController);
blogController.$inject = ['$scope'];
////
console.log("In controller file");
function blogController($scope){
console.log('running controller');
var vm = this;
vm.data = blogContent.getContent();
console.log(vm.data);
}
})();
我想知道它是否与引导我的应用程序有关? (但即使没有明确的ng-app,它仍然有效,所以我认为我的引导确实有效)
我的下一个最好的猜测是我的html中的控制器设置不正确,但每次我弄乱它时,我都会得到相同的结果或控制台中的错误,但它仍然无法正常工作。
答案 0 :(得分:1)
blogController.$inject = ['$scope','blogController']
您正试图将控制器注入控制器。将其更改为
blogController.$inject = ['$scope']
和function blogController($scope)
。
你的意思是写吗? blogController.$inject = ['$scope','blogContent']
我看到你在blogContent上调用了一个方法,我没有看到它注入任何地方。
data-ngController
应为data-ng-controller
。