Я определил 2 угловых фабрики в файлах fact1.js и fact2.jsDECLARE угловых заводов, находящихся в разных файлах
fact1.js:
angular.module('myapp').factory('fact1', function ($rootScope) {
return $rootScope.userid;
});
fact2.js:
angular.module('myapp').factory('fact2', function ($rootScope) {
return $rootScope.role;
});
app.js имеет:
angular.module('myapp', [
'ngCookies',
'ngResource',
'ngSanitize',
'ngRoute'
])
.config(function ($routeProvider, $locationProvider, $httpProvider) {
// config and run methods
Al л они находятся в разных файлах JS, и я загружать их в index.html как:
<body ng-app="myapp">
<!-- code to load angular components -->
<script src="scripts/app.js"></script>
<script src="scripts/services/fact1.js"></script>
<script src="scripts/services/fact2.js"></script>
<!-- Load other components -->
заводы остаются неопределенными. Я видел пару примеров на how to declare a factory при объявлении самого модуля, но как я могу объявить их, когда они находятся в разных файлах?
EDIT: код mycontroller.js, который впрыскивает и использует эти заводы:
angular.module('myapp').controller('mycontroller', function (fact1,fact2) {
console.log("UserID is:" + fact1);
console.log("UserRole is:" + fact2);
});
Вы случайно дали фабрикам одно и то же имя ... И не могли бы вы объяснить «неопределенные»?Вы получаете ошибку, когда вводите свои фабрики, или VALUE просто не определено? – Hylianpuffball
Итак, когда я ввожу эти фабрики в контроллеры и использую его, я получаю сообщение об ошибке, в котором говорится, что он не может считать свойство «неопределенным». Я отредактирую вопрос, чтобы поставить код для инъекций и его использование. – pbd
@pbd [Вот рабочая версия на CodePen] (http://codepen.io/rossmartin/pen/AqrKw). Надеюсь, это поможет! – Ross