2013-08-08 7 views
0

Я получаю следующее сообщение об ошибке:не удается получить доступ к собственности на неопределенную ViewModel Javascript

Uncaught TypeError: Cannot read property 'property' of undefined. 

Undefined является Java-ViewModel. Эта ошибка не возникает при запуске локально или при развертывании в другой среде, размещенной точно так же.

Однако я заметил, что определение этого конкретного ViewModel не делает его в основной-built.js (с использованием Дюрандаль и Node.js) В конфигурации маршрутизатора я следующее:

router.mapRoute('viewmodel', 'viewmodels/viewmodel.vm', 'view model', false); 

Есть ли что-то еще, что мне нужно сделать, чтобы получить определение этой модели viewmodel в main-built.js? Насколько я могу судить, все, что мне нужно сделать, это сопоставление маршрутизаторов.

+0

Ваш вид модели в каталоге приложения? Я считаю, что он будет включать в себя любые модели представлений, которые находятся в физическом каталоге, независимо от того, нужны они вам или нет (возможно, я ошибаюсь, хотя именно поэтому я не публиковал это как ответ) –

+0

Да, это приложение/viewmodels. Существуют и другие модели, которые, насколько я могу судить, устанавливаются одинаково, и они регистрируются. – Bardicer

+0

Вы уверены, что не добавили существующий из другого места и что в модели представления нет нерешенных ошибок/ –

ответ

1

Так что я уверен, что нашел решение моей проблемы.

Был выставлен чек на «latestValue» на массиве в нокаутах. Похоже, что при запуске в режиме отладки он замедлял сайт до уровня, достаточного для проверки значения. При работе в режиме выпуска все ускорялось до такой степени, что не было «последнего» значения.

Так что ... плохо:

if (myObject.latestValue.objArray[0] == "") { blah } 

Хорошо:

if (myObject().objArray[0] == "") { blah } 
Смежные вопросы