我有这个棱角分明的应用程序,我只运行我网站的一个网页。
我有一个主应用程序,它使用我制作的另一个模块作为依赖项。
我遇到的问题是控制器内部没有任何东西在运行。为什么我的控制器不运行?
但是,我的路线确实引入了视图,因此我知道该模块正在工作。
我摆脱了数据服务,以确保不是。
函数输出前的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>
控制器:
(功能(){
“使用严格”;
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中的控制器未正确设置,但是每次我弄乱它时,要么得到相同的结果,要么在控制台中出现错误,但它仍然不起作用。
最佳答案
blogController.$inject = ['$scope','blogController']
您正在尝试将控制器注入控制器。更改为blogController.$inject = ['$scope']
和function blogController($scope)
。
你是说写吗blogController.$inject = ['$scope','blogContent']
我看到您在blogContent上调用了一个方法,但没有看到它注入到任何地方。
编辑data-ngController
应该是data-ng-controller
。