国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Backbone.js的Hello World程序實例

2019-11-20 12:12:31
字體:
來源:轉載
供稿:網友

新建一個api.php文件,內容:
 

復制代碼 代碼如下:

 header('Content-Type: application/json; charset=utf-8');
die(json_encode(array('name'=>'tom')));
 

新建一個index.html文件。(backbone基于jquery、underscore,我們使用Mustache來做模板解析,當然用其他的haml、jade,或者underscore里面的模板也都是可以)

內容:

復制代碼 代碼如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE> New Document </TITLE>
<script type="text/javascript" src="./jquery.min.js"></script>
<script type="text/javascript" src="./underscore.min.js"></script>
<script type="text/javascript" src="./backbone.min.js"></script>
<script type="text/javascript" src="./mustache.min.js"></script>
<script type="text/javascript" src="./custom.js"></script>
 </HEAD>
 <BODY>
  <p><script id="hello-container-template" type="text/template"></p><p><div>{{name}} says: {{message}} </div></p><p></script></p>
 </BODY>
</HTML>

新建一個custom.js文件,內容:

復制代碼 代碼如下:

// 這是一個管理著 視圖/控制/模型 的全局類
var App = {
    Models: {},
Views: {},
Controllers: {},
Collections: {},
initialize: function() {
new App.Controllers.Routes();
        Backbone.history.start() // 要驅動所有的Backbone程序,Backbone.history.start()是必須的。
    }
};
App.Models.Hello = Backbone.Model.extend({
    url: function() {
        return '/api.php'; // 獲得數據的后臺地址。
    },
    initialize: function() {
     this.set({'message':'hello world'}); // 前端定義一個message字段,name字段由后端提供。
    }
});
App.Views.Hello = Backbone.View.extend({
el: $("body"),
template: $("#<span style="font-family: monospace; white-space: pre; ">hello-container-template</span>").html(),
initialize: function(options){
this.options = options;
this.bind('change', this.render);
this.model = this.options.model;
},
render: function(){ // render方法,目標只有兩個:填充this.el,返回this以便鏈式操作。
$(this.el).html(Mustache.to_html($(this.el).template,this.model.toJSON()) );
return this
}
});
App.Controllers.Routes = Backbone.Controller.extend({
routes: {
"!/hello" : "hello",//使用#!/hello驅動路由
},
hello : function() {
//新建一個模型,模型向后端請求更新內容成功后根據模型渲染新頁面
var helloModel = new App.Models.Hello;
helloModel.fetch({
success: function(model){
var helloView = new App.Views.Hello({model: model});
helloView.trigger('change');
}
})
}});
App.initialize();

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 咸阳市| 柳州市| 克什克腾旗| 徐州市| 兴隆县| 年辖:市辖区| 徐汇区| 策勒县| 盘锦市| 海晏县| 苏尼特右旗| 阿坝县| 敦化市| 祁东县| 繁峙县| 临澧县| 连江县| 镇巴县| 菏泽市| 廊坊市| 金湖县| 高清| 莫力| 伊金霍洛旗| 广宁县| 金堂县| 高清| 南陵县| 昔阳县| 琼中| 屯门区| 成都市| 鲜城| 汝州市| 湘乡市| 苗栗市| 房山区| 潜江市| 会昌县| 会同县| 喜德县|