成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Clouda第一App“留言大廳”之創(chuàng)建hall.js

移動開發(fā) Android
Clouda是簡單,可依賴的實(shí)時Javascript框架。對一個想開發(fā)移動webapp的開發(fā)者來說,可以使用clouda開發(fā)框架,實(shí)現(xiàn)一個功能和體驗(yàn)與native app齊平的輕應(yīng)用。

app/controller/下創(chuàng)建hall.js

  • hall.js

    1. sumeru.router.add( 
    2.     { 
    3.         pattern: '/hall'
    4.         action : 'App.hall' 
    5.     } 
    6. ); 

    我們在上一篇文檔中已經(jīng)看到過router,sumeru.router.add()作用是添加一個URL(其路徑部分)與Controller的映射關(guān)系,關(guān)于router在下一篇文檔中會做專門說明。

    1. App.hall = sumeru.controller.create(function(env, session){ 
    2.     var getMsgs = function(){        
    3.         session.messages = env.subscribe('pub-message'function(msgCollection){ 
    4.             //manipulate synced collection and bind it to serveral view blocks. 
    5.             session.bind('message-hall', { 
    6.                 data    :   msgCollection.find() 
    7.             }); 
    8.         }); 
    9.     };       
    10.     //onload is respond for handle all data subscription 
    11.     env.onload = function(){             
    12.         return [getMsgs];             
    13.     }; 

    大家可以看到在這里多了一個env.onload(),這是Controller的第一個時態(tài),Controller中需要使用的數(shù)據(jù)都在這個時態(tài)中加載,我們先在這里添加上面的代碼,關(guān)于env.onload()方法會在下一篇文檔中做專門介紹。

    1. //sceneRender is respond for handle view render and transition 
    2.    env.onrender = function(doRender){ 
    3.        doRender('hall', ['push''left']); 
    4.    }; 

    在上一篇文檔中我們已經(jīng)見過env.onrender(),這是Controller的第二個時態(tài),負(fù)責(zé)對View的渲染,關(guān)于該時態(tài)在后續(xù)會做專門說明。

    1. //onready is respond for event binding and data manipulate 
    2.   env.onready = function(){            
    3.       Library.touch.on('.messageSubmit''touchstart', submitMessage); 
    4.       Library.touch.on('.clearHistory''touchstart', clearHistory); 
    5.   }; 

    我們看到這里多了一個env.onready(),這是Controller的第三個時態(tài),在View渲染完成后,事件綁定、DOM操作等業(yè)務(wù)邏輯都在該時態(tài)中完成。

    為了方便開發(fā)者更快的開發(fā)移動端的應(yīng)用,Clouda中內(nèi)置了手勢事件庫,關(guān)于手勢事件庫在API手冊Touch部分會做詳細(xì)的說明,在這里使用了手指輕觸事件touch如果您是在PC瀏覽器中運(yùn)行應(yīng)用需要開啟瀏覽器的Emulate touch events功能。

    在上面的代碼中可以看到,我們使用了submitMessage()和clearHistory()兩個還沒有定義的方法,下面我們來實(shí)現(xiàn)它們。

    1. var submitMessage = function(){ 
    2.       var input = document.getElementById('messageInput'), 
    3.           inputVal = input.value.trim();       
    4.       if (inputVal == '') { 
    5.          return false;  
    6.       }; 
    7.       session.messages.add({ 
    8.          content : inputVal 
    9.       }); 
    10.       session.messages.save(); 
    11.       input.value = '';           
    12.   }; 

    在submitMessage()中我們使用了session.message.add()session.message.save().add()用于在collection中新增一個Model。.save()是用于將collection的修改保存到Server,在通常情況下,調(diào)用.save()方法會自動觸發(fā)對應(yīng)視圖block的更新。

    從這里可以看出,Clouda設(shè)計(jì)的核心是面向數(shù)據(jù)的,當(dāng)數(shù)據(jù)發(fā)生改變時Clouda會自動更新與該數(shù)據(jù)有關(guān)聯(lián)的視圖block,我們稱之為"隨動反饋",這是Clouda的一個重要特性。

    1.     var clearHistory = function(){ 
    2.         session.messages.destroy(); 
    3.         session.messages.save(); 
    4.     }        
    5. }); 

    同.add()的使用方法類似,.destroy()作用是將collection中的數(shù)據(jù)全部清空,數(shù)據(jù)清空后同樣我們調(diào)用.save()根據(jù)數(shù)據(jù)的變化重新渲染與該數(shù)據(jù)關(guān)聯(lián)視圖block。

責(zé)任編輯:張葉青
相關(guān)推薦

2013-10-31 15:44:13

CloudaApp

2013-10-31 15:16:13

CloudaApp

2013-10-31 15:29:47

CloudaApp

2013-10-31 15:27:25

CloudaApp

2013-10-31 15:40:44

CloudaApp

2013-10-31 15:47:29

CloudaApp

2013-10-31 11:04:03

Cloudapackage.js

2013-10-31 15:12:57

CloudaAPI

2013-10-30 22:10:28

Clouda程序

2013-10-30 22:41:23

Clouda環(huán)境

2013-10-31 10:57:10

CloudaManifest

2013-10-31 09:51:10

CLouda結(jié)構(gòu)

2013-10-31 14:55:22

2013-10-31 13:47:23

CloudaAPI

2013-10-31 14:30:44

CloudaAPI

2013-10-31 10:59:41

Clouda使用

2013-10-30 22:50:30

Clouda結(jié)構(gòu)

2013-12-09 17:27:19

CloudaNode.js

2013-10-31 13:37:07

CloudaAPI手冊

2013-10-31 22:53:58

Clouda程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美性另类 | 日本二区| 高清免费在线 | 亚洲精品一区二区三区中文字幕 | 日一日操一操 | 一区在线播放 | 九九亚洲 | 久热精品在线播放 | 91精品国产91久久综合桃花 | 欧美激情区 | 色综合久久伊人 | 久久av一区| 久久九| 亚洲精品久久久久久一区二区 | 久久久久久久一区二区三区 | 天堂一区二区三区 | 国产精品久久久久一区二区三区 | 欧美老妇交乱视频 | 在线免费观看黄色 | 国产麻豆乱码精品一区二区三区 | 中文字幕第二十页 | 91久久精品一区二区三区 | 久久国内精品 | 91美女视频 | 亚洲欧美一区二区三区视频 | 一区二区三区不卡视频 | 成人在线观看免费爱爱 | 成人国产一区二区三区精品麻豆 | 国产区一区| 在线看片网站 | av看片网站 | 亚洲国产精品一区二区三区 | 亚洲精品粉嫩美女一区 | 久久综合久久综合久久综合 | 亚洲精品在线视频 | 亚洲欧美综合精品久久成人 | 成人午夜网 | 国产三级电影网站 | 精品综合久久 | 精品一区二区视频 | 一级在线观看 |