gpt4 book ai didi

javascript - (AngularJS) 无法将工厂注入(inject) Controller

转载 作者:行者123 更新时间:2023-11-29 16:45:40 33 4
gpt4 key购买 nike

我正在尝试将我的工厂注入(inject) Controller 。如果我将工厂列为 Controller 参数之一,则会收到此错误:

Error: [$injector:unpr] Unknown provider: wordRushFacProvider <- wordRushFac <- wordrushCtrl
http://errors.angularjs.org/1.6.1/$injector/unpr?p0=wordRushFacProvider%20%3C-%20wordRushFac%20%3C-%20wordrushCtrl

这是我工厂的代码:

(function() {
"use strict";

angular
.module("wordrush")
.factory("wordRushFac", function($http) {

function getValidWords() {
return $http.get('../data/valid-words.txt');
}

return {
getValidWords : getValidWords
}
})
})

以及我的 Controller 的代码:

(function() {
'use strict'

angular
.module('wordrush')
.controller('wordrushCtrl', function($scope, $http, wordRushFac) {

wordRushFac.getValidWords().then(function(words) {
$scope.words = words.data;
});
$scope.words = 'Hello'
});
})();

对于我的index.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Word Rush</title>

<link rel="stylesheet" href="node_modules/angular-material/angular-material.css">
<link rel="stylesheet" type="text/css" href="css/style.css">

<script src="node_modules/angular/angular.js"></script>
<script src="scripts/app.js"></script>
<script src="components/wordrush.ctr.js"></script>
<script src="components/wordrush.fac.js"></script>
</head>
<body ng-app="wordrush" ng-controller="wordrushCtrl">
<h1> {{ words }} </h1>
</body>
</html>

对于我的 app.js:

angular
.module('wordrush', ['ngMaterial'])
.config(function($mdThemingProvider) {

$mdThemingProvider.theme('default')
.primaryPalette('blue')
.accentPalette('green');
})

我用与此相同的代码编写了一个程序,只是更改了名称和变量,并且运行良好。那么我在这里做错了什么?

最佳答案

这里有一个 plunkr 说“Hello”:https://plnkr.co/edit/MyxcXQ8YI4QYqeFsyVJz?p=preview

您的 Controller 定义中有一组额外的左/右括号,请删除它们:

angular
.module('wordrush')
.controller('wordrushCtrl', function($scope, $http, wordRushFac) {

wordRushFac.getValidWords().then(function(words) {
$scope.words = words.data;
});
$scope.words = 'Hello'
});

另外,您确定包含 ng-material JS 文件吗?我没有看到您的 HTML 中列出了该内容。

关于javascript - (AngularJS) 无法将工厂注入(inject) Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41923967/

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