Итак, у меня есть два модуля, каждый со своим контроллером, и мне нужно передать объект между ними, я видел, что это можно сделать с помощью службы, я пробовал кое-что, но все время получаю ошибку «$ injector» во втором модуль / контроллер. Пожалуйста, помогите исправить это. Это мой первый модуль / контроллер со своим сервисом:
var appIndex = angular.module("AppIndex", ['datatables', 'datatables.bootstrap', 'ui.select']);
appIndex.service('sharedData', function () {
this.data = {};
this.setData = function (newData) {
this.data = newData;
return this.data;
};
this.getData = function () {
return this.data;
};
});
appIndex.controller("IndexController", function ($scope, $http, $window, sharedData) {
sharedData.setData($scope.referencia);
});
А это мой второй модуль / контроллер:
var appCna = angular.module("AppCna", ['ui.select', 'AppIndex']);
appCna.controller("CnaController", function ($scope, $http, $window, sharedData) {
$scope.referencia = sharedData.getData();
});
Вам нужно вызвать setData
в вашем первом контроллере
appIndex.controller("IndexController", function ($scope, $http, $window, sharedData) {
sharedData.setData($scope.referencia);
});
вам нужно проверить, добавили ли вы все ссылки в index.html
извините, но что вы имеете в виду?
любые ссылки (файлы javascript), необходимые для ваших зависимостей, таких как таблицы данных и т. д.
ОЙ! да, я сделал это, индексный файл в порядке, я проверил, работает ли служба, распечатав объект $ scope.reference, и он работает, ошибка появляется на второй странице (cna.html), похоже, я ввожу индекс. js или неправильно обслуживает файл cns.js
ну, это может быть проблемой, иначе код выглядит нормально
Я имею в виду, что когда вам нужно использовать службу, объявленную в другом модуле, вы вводите этот модуль как зависимость, а затем вставляете службу в свой контроллер, верно?
Мне пришлось ввести в файл cna.js все зависимости файла index.js (он содержит объявление службы), и тогда он не вызывал никаких ошибок, но все равно не работал, поэтому теперь я думаю об использовании функции localStorage вместо , и отказ от обслуживания :( Но большое спасибо за ваше время и внимание
Итак, в конце концов я, наконец, перестаю пытаться использовать службу для моей цели передачи объекта между двумя модулями, и я использовал функцию LocalStorage.
Хорошо, я уже сделал это, но продолжаю получать эту ошибку: Неперехваченная ошибка: [$ injector: modulerr]