发布于 2015-08-14 15:20:55 | 410 次阅读 | 评论: 0 | 来源: 网络整理
如果希望应用一个Backbone,在不同的DOM元素,使用setElement,这也将创造缓存 $el参考并从旧元素移动视图的事件委托给新的那个。
view.setElement(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 Yiibai.com!!!');
}
});
//'viewdemo' is a instance of the 'ViewDemo' class
var viewdemo = new ViewDemo;
</script>
</body>
</html>
让我们进行以下步骤来看看上面的代码工作:
保存上述代码在文件setelement.html
在浏览器打开这个HTML文件。