Это может быть довольно простой, но я просто не могу понять это. Проблема идетНокаут не может получить доступ к наблюдаемому массиву изнутри модели
У меня есть модель с наблюдаемым массивом «self.product» и вы хотите получить к ней доступ из вложенной модели, как показано ниже. когда я запускаю это, я получаю сообщение об ошибке, что продукт не существует. Я не включил код, но есть ajax-вызов, который получает данные и подталкивает его к «продукту». Также, используя привязку клика на функции «тест», распечатывает значение.
Возможно, это может быть проблема с понятием «я», но поскольку я использую массив «product» в привязке foreach в разметке, я не могу просто изменить self.product ... на var product. как я могу это сделать?
var viewModel = function() {
var self = this;
self.product = ko.observableArray([]);
var orderItem = function (data) {
var self = this;
self.PlayDuration = ko.computed(function() {
var foo = self.product()[0].something();
return foo;
});
}
self.updateTotals = function() {
console.log(self.product()[0].something());
}
});
Вы скрываете 'self' с внутренней декларацией на' orderItem' (которую я не вижу даже в использовании). Если вы ставите свой код в скрипку, мы можем помочь больше. – Tyrsius
почтовый код, который генерирует ошибку. – Brandon
orderItem также заполнен из AJAX. Я попытаюсь собрать что-то для скрипача, однако он очень зависит от данных с сервера. код не работает в этой строке var foo = self.product() [0] .something(); –