65 以上の html ページと中央の JavaScript ライブラリのマルチページ アプリをクリーンアップしています。私の HTML ページには大量の冗長性があり、中央の js ライブラリはスパゲッティになっています。特定の構造を強制するより大きなフレームワーク内で作業しているため、ページの統合に制限があります。冗長性を減らし、コードをクリーンアップしたい。
バックボーン、MVC パターン、マイクロテンプレート、requirejs を発見しましたが、これらはシングル ページ アプリケーションに最適なようです。どういうわけか、どのページがロードされているかをメインモジュールに知らせて、ページに正しい要素を配置する必要があります。ページ要素の正しいコレクションを取得し、オブジェクトとして App.initialize に渡す html のタイトルを渡すことを考えています。
1) 誰でもこのアプローチを検証できますか? そうでない場合、推奨される代替アプローチはありますか? 操り人形のような骨格への拡張はどうですか?
2) ページの詳細をバックボーン フレームワークに取り込む手段を推奨できる人はいますか?
バックボーンのチュートリアルに従って、view.render メソッドを呼び出す App.initialize メソッドを呼び出す main.js を使用して、成功したテスト ページを作成しました。私が最初に考えたのは、html ページのタイトルを読み取り、それを使用して、読み込まれている特定のページのモデルを選択することです。各ページ レイアウトの詳細を含むオブジェクトを渡す必要があります。ビューの render メソッドを次に示します。これにより、私が何をしようとしているのかがわかります。
render: function () { // pass parameter to render function here?
var data = new InputModel,
pageTitle = data.pageTitle || data.defaults.pageTitle,
compiled,
template;
var pageElements = [
{ container: '#page_title_container', template: '#input_title_template' },
{ container: '#behavior_controls_container', template: '#behavior_controls_template' },
{ container: '#occurred_date_time_container', template: '#date_time_template' }]
for (var i = 0; i < pageElements.length; i++) {
this.el = pageElements[i].container;
compiled = _.template($(InputPageTemplates).filter(pageElements[i].template).html());
template = compiled({ pageTitle: pageTitle });
//pass in object with values for the template and plug in here?
$(this.el).html(template);
}
}
どうぞよろしくお願いいたします。1999 年頃の JavaScript スキルを更新するのがとても楽しいです。この言語では、たくさんのクールなことが起こっています。