BackboneJS view.setElement()方法


如果希望應用一個Backbone,在不同的DOM元素,使用setElement,這也將創造快取 $el參考並從舊元素移動檢視的事件委託給新的那個。

語法

view.setElement(element)

引數:

  • element: 一種可以從現有的元件被改變為不同的元素的元素。

範例

<!DOCTYPE html>
   <head>
      <title>View Example</title>
         <script src="https://code.jquery.com/jquery-2.1.3.min.js" type="text/javascript"></script>
         <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.2/underscore-min.js" type="text/javascript"></script>
         <script src="https://cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.2/backbone-min.js" type="text/javascript"></script>
   </head>
   <body>
      <div id="myview">
   	     Enter your text: <input type="text"/>
      </div>
      <div id="myapp"></div>
      <script type="text/javascript">
         //'ViewDemo' is a name of the view class
         var ViewDemo = Backbone.View.extend({

            //Event triggers 'sayHi' function when you enter the text in input tag
            events: {
               'change input': 'sayHi'
            },

            //This function is called when the view is instantiated
            initialize: function() {
                this.setElement($('#myview'));   //'setElement' changes the element associated with the view
            },

            //when you enter the text, it displays the below line on the screen
            sayHi: function() {
               document.write('Welcome to Tw511.com!!!');
            }
         });

          //'viewdemo' is a instance of the 'ViewDemo' class
         var viewdemo = new ViewDemo;
      </script>
   </body>
</html>

輸出

讓我們進行以下步驟來看看上面的程式碼工作:

  • 儲存上述程式碼在檔案setelement.html

  • 在瀏覽器開啟這個HTML檔案。