Я только начал вникать в javascript, чтобы сделать проект более отзывчивым, и работаю с примером backbone.js.
Я скопировал http://www.jamesyu.org/2011/01/27 / cloudedit-a-backbone-js-tutorial-by-example / в новом проекте Rails 3.
Я запускаю проект и перехожу на домашнюю страницу .... и там есть ссылка на / # и ничего больше. Заглянув в консоль js, я получаю ошибки в двух скриптах: application.js и backbone.js
This (backbone.js)
backbone-min-0-3-3.js:8Uncaught TypeError: Cannot call method 'extend' of undefined
и this (application.js):
var App = {
Views: {},
Controllers: {},
Collections: {},
init: function() {
new App.Controllers.Fffforms();
**error message ---> application.js:9Uncaught TypeError: undefined is not a function**
Backbone.history.start();
}
};
Будучи новичком в js, это не " В этом есть смысл, и ничто из того, что я искал, не принесло такой пользы в краткосрочной перспективе.
Может ли кто-нибудь сказать мне, на что именно указывают эти ошибки и как я могу продолжить работу? Все проверяется сравнением ресурсов в
Кто-нибудь может сказать мне, на что именно указывают эти ошибки и как я могу их исправить? Все проверяется сравнением ресурсов в https://github.com/jamesyu/CloudEdit , но моя репликация из нового проекта rails 3 (не клона этого репо) точно не работает.
Любые предложения приветствуются, в том числе Я только что начал изучать некоторый javascript.
РЕДАКТИРОВАТЬ:
По предложению я пошел и фактически добавил в гем Jammit и настроил его для обслуживания всех js-скриптов, чего не было в Rails по умолчанию. Теперь все скрипты отправляются в браузер (включая контроллер). К сожалению, это не решает исходную проблему, только дает больше ошибок при загрузке, вытекающих из инициализации приложения, которая находится в консоли chrome js:
Uncaught TypeError: undefined is not a function
App.initapplication.js:9
(anonymous function):3000/#new:32
d.extend._Deferred.f.resolveWithjquery.min.js:16
d.d.extend.readyjquery.min.js:16
d.c.addEventListener.yjquery.min.js:16
Учитывая, что я просто копирую прямо сейчас, должно быть несколько небольших упущенных из виду деталь вне моего банкомата, которая мешает приложению запускаться должным образом. [супер viewDidLoad]; CGRect initialRect = testView_.frame; NSLog (@ "перед вращением: w% fh% fx% fy% f", ...
Создайте квадратный объект UIView testView_ и добавьте его в viewDidLoad:
- (void)viewDidLoad {
[super viewDidLoad];
CGRect initialRect = testView_.frame;
NSLog(@"before rotation: w %f h %f x %f y %f", initialRect.size.width, initialRect.size.height, initialRect.origin.x, initialRect.origin.y);
testView_.transform = CGAffineTransformMakeRotation(0.1);
NSLog(@"after rotation: w %f, h %f, x %f, y %f", testView_.frame.size.width, testView_.frame.size.height, testView_.frame.origin.x, testView_.frame.origin.y);
testView_.frame = initialRect;
NSLog(@"reassign: w %f, h %f, x %f, y %f", testView_.frame.size.width, testView_.frame.size.height, testView_.frame.origin.x, testView_.frame.origin.y);
}
Я получаю это в консоли:
2011-04-27 12:30:32.492 Test[31890:207] before rotation: w 100.000000 h 100.000000 x 20.000000 y 20.000000
2011-04-27 12:30:32.494 Test[31890:207] after rotation: w 109.483757, h 109.483757, x 15.258121, y 15.258121
2011-04-27 12:30:32.495 Test[31890:207] reassign: w 117.873589, h 100.000000, x 11.063205, y 20.000000
Я не мог понять логику этого изменения значения кадра, особенно последнего. Кто-нибудь может просветить меня? Спасибо.