Получить угловую фабрику, чтобы ссылаться на свои данные
Я работаю с угловыми фабриками, и в одном случае я хочу, чтобы фабрика ссылалась на некоторые из своих собственных данных, но, похоже, она не работает. В приведенном ниже примере data2 необходимо прочитать значение из testVariable, но, похоже, оно не работает. В приведенном ниже примере данные просто пусты. В моем более сложном сценарии я использую значение как логическое значение, чтобы показать / скрыть значение и получить ошибку "Невозможно получить свойство" xxxxxx "с неопределенной или нулевой ссылкой". Кто-нибудь знает, как я мог успешно ссылаться на testVariable по мере необходимости ниже. Стоит отметить, что его нужно возвращать внутри фабрики, так как есть $watch, настроенный для выполнения некоторых действий, если значение изменяется.
Благодарю.
(function() {
angular.module('myApp.Module').factory(
'MyFactory',
function() {
var factory = {
testVariable : 'testData2',
randomData : [
{
data1: 'testData1',
data2: testVariable,
data3: 'testData3'
}, {
data4 : 'testData4',
data5 : 'testData5',
data6 : 'testData6',
}
}
return factory;
});
}());
1 ответ
Как ты это сделал, testVariable
это свойство объекта, а не переменная! Вам нужно определить переменную вне factory
объект.
(function() {
angular.module('myApp.Module').factory('MyFactory',function() {
var testVariable = 'testData2';
var factory = {
randomData : [
{
data1: 'testData1',
data2: testVariable,
data3: 'testData3'
}, {
data4 : 'testData4',
data5 : 'testData5',
data6 : 'testData6',
}
}
return factory;
});
}());