angularjs - AngularJS工厂在不同的文件中
问题描述
我对 angularJS 完全陌生,所以这对我来说是第一次。我已经初始化了 Angular 应用程序,创建了一个控制器,直到此时一切正常。当我在不同的文件中创建工厂时,问题就开始了,然后我不知道如何在控制器中注册它。当我像我一样将工厂引用到控制器时,我得到Error: $injector:unpr
Unknown Provider
. 我究竟做错了什么?
var app = angular.module("app", []);
app.controller("appCtrl", function($http, appFactory) {
var that = this;
// Some stuff
}
这是不同文件中的工厂。
var app = angular.module("app");
app.factory("appFactory", function() {
var factory = {};
someData = [];
factory.getData = function() {
return someData;
};
return factory;
});
解决方案
不要再次创建模块。从您的工厂文件代码中删除这一行“var app = angular.module("app");”。并使用 getter 语法创建服务。文件
<html>
<head>
<title>title</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.js"> </script>
<script src="app.js" /> </script>
<script src="service.js" /> </script>
</head>
<body ng-app="myApp" ng-controller="myCtrl">
{{text}}
</body>
控制器
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, myserv) {
$scope.text = myserv.myFunc();
});
服务/工厂
app.service('myserv', function() {
this.myFunc = function () {
return 'abc';
}
});
推荐阅读
- java - 如何使用私有内部类进行测试?
- javascript - Node.Js 函数在 promise 返回时调用一次时运行两次
- python-3.x - 如何获取适当形状的数据以馈送到 keras 中的 LSTM 层以进行序列到序列预测
- php - Yii2 Kartik-v fileiput:当包装在 $_FILES 数组中而不是 $_POST 时获取上传的图像
- python - 如何找出索引是否在嵌套列表中
- angular - “FormGroup”类型上不存在属性“第 1 节”。自动构建
- javascript - 如何在进入下一页之前更改按钮的文本?
- php - 如何在 Laravel 的 .env 文件中添加文字引号?
- c# - 重定向到使用过滤器进行身份验证后重定向到请求 URL
- php - 如何根据登录的用户从数据库中调用数据并显示在yii2的表单列/字段中?