Backbone.js의View에서 "el"을 지정하는 방법 "tagName, id"를 지정하는 방법

요즘, 백본.js를 사용하여 단일 응용 프로그램을 만드는 중
이 경우 View에 대한 자신의 이해를 기록합니다.
이번에 만든 샘플.
https://github.com/JK0602/backbone_single_page
이런 느낌의 페이지... 디자인... 샘플이라서...

chrome는 로컬 파일에 접근할 수 있도록 설정해야 합니다...
http://www.finefinefine.jp/web/jquery/kiji861/
보기를 지정할 수 있는 두 가지 방법이 있습니다.
(1).이미 존재하는 DOM 요소를 el로 지정
(2).새 엘
다음은 샘플에 사용되는 기본 HTML입니다.
index.html
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8"/>
    <link href="css/common.css" type="text/css" rel="stylesheet" />
    <script type="text/javascript" src="js/lib/require.js"></script>
    <script type="text/javascript" src="js/main.js"></script>
  </head>
  <body>
    <div id="wrapper">
      <!-- ヘッダー -->
      <div id="header"></div>
      <!-- メインコンテンツ -->
      <div id="content"></div>
      <!-- フッター -->
      <div id="footer"></div>
    </div>
  </body>
</html>
제목은 이미 index입니다.html로''가 다음과 같이 존재합니다
el: $("#header"),
에서 설명한 대로 해당 매개변수의 값을 수정합니다.(1)
HeaderView.js
var HeaderView = Backbone.View.extend({
  el: $("#header"),                   //←既に存在するDOMエレメントを指定

  //以下イベント登録など
  events: {
   ...
});
그리고 내용 내()에서 페이지 A와 페이지 B의 내용으로 전환하려고 하기 때문에tagName과 id를 지정하여el을 새로 만들기로 결정합니다.(2)
tagName: "div",
id: "cnt-index",
이렇게 함으로써
this.el은''입니다.
AppView.js
var AppView = Backbone.View.extend({
  tagName: "div",              //←新しくelを作る場合
  id: "cnt-index",
  template: null,

  //イベント登録など
  ...

  //描画
  render: function(){
    this.$el.html(this.template());
    $("#content").html(this.el);

    ...

    return this;
  },
});
상술한 묘사 부분에서
$("#content").html(this.el);
그래서 index.html의
index.html
<div id="content"></div>
열다
index.html
<div id="content">
    <div id='cnt-index'>
        ページA
        ....
    </div>
</div>
의 규격화 거리의 멱 함수.
하면, 만약, 만약...
index.html
<div id="content">
  <div id='cnt-next'>
        ページB
        ....
    </div>
</div>
문서 레지스트리에 항목을 추가합니다.
el: $("#content"),
이렇게 지정한 내용을 페이지 A와 B 사이를 전환하면 되지 않을까요? 처음에는 그렇게 생각했지만 만약에 엘이 같다면 페이지 A가 설정한 활동이 페이지 B에서도 움직이기 때문에 이렇게 새로운 엘을 만드는 방법으로 만들었습니다...

좋은 웹페이지 즐겨찾기