Хорошо, поэтому я отказался от версии 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 остается максимально легким, но при этом предоставляет множество возможностей. функциональности.
Обновление документации и многое другое!
Метод службы — это просто реализация ajax в ToolKit.
Здесь реализуется шаблон, который обрабатывает некоторые шаблоны DHTML через механизм шаблонов, а также обрабатывает собственное состояние, которым можно манипулировать вне компонента, как в примере. Наконец, он может отправлять свои собственные контроллеры, используя свойство/функцию onRender.
Это просто пространство имен для полезных/простых методов, не более того.
Это позволяет вам выполнить «запрос» к массиву объектов. Он выполняется с использованием обратного вызова, чтобы гарантировать, что основной поток выполнения никогда не блокируется при переборе большого набора данных.
Позволяет вам иметь разные URL-адреса во внешнем интерфейсе, что позволяет использовать SPA. В настоящее время он допускает только URL-адреса на основе хэша и по умолчанию не отслеживает изменения URL-адресов, т. е. пользователь пытается перейти на другой URL-адрес. Хотя такая функция настолько упрощена, что я считаю, что решение о том, реализовывать такую функцию или нет, может зависеть от решения разработчика, в конце концов, она должна быть облегченной.
В настоящее время он использует механизм шаблонов, несколько похожий на EJS, но гораздо меньший, минимальный и упрощенный.
Это всего лишь простые инструменты, которые можно использовать при необходимости или нет.
Пространство имен для функций, связанных с DOM.
Просто console.log
, хотя для этого требуется, чтобы для режима dev-mode было установлено значение true.
Позволяет хранить данные в сеансе пользователя, т. е. прикрывает хранилище сеанса.
Позволяет хранить данные в локальном хранилище.