gpt4 book ai didi

javascript - 解决函数未注入(inject)到 Controller 中的问题 [Angular JS]

转载 作者:行者123 更新时间:2023-12-03 07:19:05 26 4
gpt4 key购买 nike

angular
.module('madkoffeeFrontendApp', [])
.config(function ($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/articles.html',
controller: 'MainCtrl',
resolve: {
articles: function(articleService,$q) {
// return articleService.getArticles();
return 'boo';
}
}
})
.otherwise({
redirectTo: '/'
});

$locationProvider.html5Mode(true);
});

我的上面的代码包含解析。

  angular.module('madkoffeeFrontendApp')
.controller('MainCtrl', ['$scope',
function($scope, articles) {
console.log(articles);
}]);

当我尝试在数组中注入(inject)文章时,如下所示,它给出了一个错误,但据我所知,这是注入(inject)解析函数的正确方法:

  angular.module('madkoffeeFrontendApp')
.controller('MainCtrl', ['$scope','articles',
function($scope, articles) {
console.log(articles);
}]);

我的文章解析函数没有被注入(inject)。我尝试仅返回一个字符串(例如:“boo”),如图所示来测试文章依赖项是否有效,但它不起作用,即它返回未定义。可能是什么原因?

最佳答案

这是一个 Plunker 来演示解析消息。正如您将在示例中看到的,它的结构与您发布的代码相同,并且应该可以正常工作。

单击“关于”页面可查看解决消息。

http://plnkr.co/edit/FomhxYIra5GI7nm1KpGb?p=preview

代码:

var resolveTestApp = angular.module('resolveTestApp', ['ngRoute']);

resolveTestApp.config(function($routeProvider) {
$routeProvider

.when('/', {
templateUrl : 'pages/home.html',
controller : 'mainController'
})

.when('/about', {
templateUrl : 'pages/about.html',
controller : 'aboutController',
resolve: {
resolveMessage: function() {
return 'This is the resolve message';
}
}
})

});

resolveTestApp.controller('mainController', function($scope) {
$scope.message = 'Everyone come and see how good I look!';
});

resolveTestApp.controller('aboutController', ['$scope', 'resolveMessage', function($scope, resolveMessage) {
$scope.message = resolveMessage;
}]
);

这可能是您使用的 Angular 版本或缩小代码时出现的问题。

关于javascript - 解决函数未注入(inject)到 Controller 中的问题 [Angular JS],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36284256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com