ToolKit JS
1.0.0
好吧,我已經放棄了版本 1 和版本 2,只是因為 ToolKitMin 背後的最終目標是提供一組工具,不一定是框架,而是一個函式庫。您可以將 ToolKitMin 視為一個輔助前端應用程式開發的函式庫。 ToolKitMin 是一個適合初學者學習的強大工具,因為它包括以下一些內容:
這是一些程式碼的範例......
var app = ToolKit ;
app . DOM . ready ( function ( ) {
console . log ( app ) ;
app . Session . set ( 'user_id' , { user_id : 1 } ) ;
console . log ( app . Session . get ( 'user_id' ) ) ;
// Query demo.
var queryString = "age GTE 20" ;
var queryCols = [ "age" , "name" ] ;
var queryData = [ { "age" : "30" , "name" : "Jack" } , { "age" : "20" , "name" : "Jay" } , { "age" : "12" , "name" : "Stacy" } ] ;
app . Query . setColumns ( queryCols ) ;
app . Query . setTable ( queryData ) ;
app . Query . select ( queryString ) ;
app . Query . onComplete ( function ( records ) {
console . log ( 'Complete query' ) ;
console . log ( records ) ;
} ) ;
// AJAX demo.
app . Service ( {
url : window . location . href ,
method : "GET" ,
success : function ( data ) {
console . log ( data ) ;
app . Query . exe ( ) ;
}
} ) ;
// Component demo.
window . appState = {
name : 'Will I Am'
} ;
var component = {
name : 'demo' ,
state : window . appState ,
root : app . Utils . $one ( "body" ) ,
template : '<h1><% data.name %></h1>' ,
onStateChange : function ( ) {
console . log ( "State changed!" ) ;
} ,
onRender : function ( ) {
console . log ( "Rendered!" ) ;
}
} ;
app . Component . registerComponent ( component ) ;
app . Router . add ( / home / , function ( ) {
console . log ( 'Home page.' ) ;
} ) ;
app . Router . add ( / about / , function ( ) {
console . log ( 'About page' ) ;
} ) ;
app . Router . add ( function ( ) {
console . log ( '404 Error?!' ) ;
} ) ;
} ) ;
// Wait 2 seconds to see the component update.
setTimeout ( function ( ) {
window . appState . name = "Will Smith" ;
} , 2000 ) ;
// Test the router.
setTimeout ( function ( ) {
app . Router . navigate ( 'home' ) ;
} , 1000 ) ;
setTimeout ( function ( ) {
app . Router . navigate ( 'about' ) ;
} , 2000 ) ;
setTimeout ( function ( ) {
app . Router . navigate ( '404test' ) ;
} , 3000 ) ;
ToolKitMin 顧名思義,它是一組聚集在一起的工具,只有許多工具被剝離到其核心,確保 ToolKitMin-JS 保持盡可能輕量級,同時提供足夠的功能的功能。
更新文件等等!
service 方法只是 ToolKit 對 ajax 的實作。
這實作了一個模板,透過模板引擎處理一些 DHTML 模板,它還處理自己的狀態,該狀態可以在元件外部進行操作,如範例所示。最後,它可以透過使用“onRender”屬性/函數來調度自己的控制器。
這只是有用/簡單方法的名稱空間,僅此而已。
這允許您對物件數組執行“查詢”,它透過使用回調來運行,以確保主執行線程永遠不會因迭代大型資料集而被阻塞。
允許您在前端內擁有不同的 URL,從而允許 SPA,目前它僅允許基於哈希的 URL,並且預設不會監視 URL 更改,即用戶嘗試導航到不同的 URL。雖然這樣的功能非常簡單,我相信這可能取決於開發人員決定是否要實現這樣的功能,但畢竟它意味著輕量級。
目前它使用的模板引擎有點類似 EJS,儘管更小、更簡單。
這些只是簡單的工具,無論是否需要都可以使用。
DOM 相關功能的命名空間。
簡單的console.log
,儘管它需要將 dev-mode 設為 true 。
允許您將資料儲存到使用者的會話中,也稱為會話儲存的覆蓋範圍。
允許您將資料儲存到本地儲存。