欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

創(chuàng)建Dojo部件簡介-創(chuàng)新互聯(lián)

翻譯 https://github.com/dojo/framework/blob/master/docs/en/creating-widgets/introduction.md

成都做網(wǎng)站、網(wǎng)站建設的關注點不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給成都創(chuàng)新互聯(lián)一個展示的機會來證明自己,這并不會花費您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。

Dojo 鼓勵編寫簡單的、模塊化組件,并稱之為部件,它僅實現(xiàn)應用程序大量需求中的單一職責。部件被設計成可在各種場景中組合和復用,能以響應的方式連接在一起,以滿足更復雜的 web 應用程序需求。

部件使用渲染函數(shù)返回的虛擬節(jié)點描述其預期的結構。然后,在應用程序運行時,Dojo 的渲染系統(tǒng)會持續(xù)地將部件每一層渲染的內容轉換為對應的、高效的 DOM 更新。

功能 描述
響應式設計Dojo 部件是圍繞響應式的核心原則設計的,這樣在應用程序中傳播變化的狀態(tài)時,就可以確保可預見的、一致的行為。
封裝部件創(chuàng)建獨立、封裝的部件,這些部件可通過各種配置組合在一起,從而創(chuàng)建出復雜且漂亮的用戶界面。
DOM 抽象框架提供了恰當?shù)某橄?,這意味著 Dojo 應用程序不需要直接與命令式 DOM 打交道。
高效渲染Dojo 的渲染系統(tǒng)可以檢測出部件層次結構中特定子節(jié)點的狀態(tài)變化,這樣當更新發(fā)生時,只需要高效的重新渲染應用程序中受影響的部分。
企業(yè)級跨領域的應用程序需求,如國際化、本地化和樣式主題,可以輕松地添加到用戶創(chuàng)建的部件中。

基本用法

定義部件

  • 使用 內置的 create() 將部件定義為一個渲染函數(shù) factory
  • 返回定義了部件結構的 虛擬 DOM 節(jié)點,這里使用 TSX 語法

src/widgets/MyWidget.tsx

import { create, tsx } from '@dojo/framework/core/vdom';

const factory = create();

export default factory(function MyWidget() {
    return <div>Hello from a Dojo widget!</div>;
});

設置部件屬性

  • 為了使部件能更好的復用,需要使用類型化的屬性接口來抽象出 state, 配置和事件處理函數(shù)
  • 使用 create 工廠為部件提供中間件
  • 通過為節(jié)點指定 key 屬性,來區(qū)分同一類型的兄弟元素,此示例中是兩個 div 元素。這樣當應用程序中的狀態(tài)發(fā)生變化,需要更新 DOM 節(jié)點時,框架就可以高效、準確地定位到相關元素

src/widgets/Greeter.tsx

import { create, tsx } from '@dojo/framework/core/vdom';
import icache from '@dojo/framework/core/middleware/icache';

const factory = create({ icache }).properties<{
    name: string;
    onNameChange?(newName: string): void;
}>();

export default factory(function Greeter({ middleware: { icache }, properties }) {
    const { name, onNameChange } = properties();
    let newName = icache.get<string>('new-name') || '';
    return (
        <div>
            <div key="appBanner">Welcome to a Dojo application!</div>
            {name && <div key="nameBanner">Hello, {name}!</div>}
            <label for="nameEntry">What's your name?</label>
            <input
                id="nameEntry"
                type="text"
                value={newName}
                oninput={(e: Event) => {
                    icache.set('new-name', (e.target as HTMLInputElement).value);
                }}
            />
            <button
                onclick={() => {
                    icache.set('new-name', undefined);
                    onNameChange && onNameChange(newName);
                }}
            >
                Set my name
            </button>
        </div>
    );
});

組合部件

  • 通過將部件組合在一起形成多層結構,以滿足更復雜的應用程序需求
  • 為子部件提供 state 和事件處理函數(shù)等屬性(properties)
  • 使用 icache 中間件管理 state,并當狀態(tài)變更時,失效或重新渲染受影響的部件

src/widgets/NameHandler.tsx

import { create, tsx } from '@dojo/framework/core/vdom';
import icache from '@dojo/framework/core/middleware/icache';

import Greeter from './Greeter';

const factory = create({ icache });

export default factory(function NameHandler({ middleware: { icache } }) {
    let currentName = icache.get<string>('current-name') || '';
    return (
        <Greeter
            name={currentName}
            onNameChange={(newName) => {
                icache.set('current-name', newName);
            }}
        />
    );
});

渲染到 DOM 中

  • 使用框架中的 renderer 函數(shù)將部件掛載到 DOM 中
  • 也可以對 Dojo 應用程序在頁面中呈現(xiàn)的位置做更多控制,以便穩(wěn)步地采用較小的子組件,甚至支持一個頁面中存在多個應用程序或框架

src/main.tsx

import renderer, { tsx } from '@dojo/framework/core/vdom';

import NameHandler from './widgets/NameHandler';

const r = renderer(() => <NameHandler />);
r.mount();

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

名稱欄目:創(chuàng)建Dojo部件簡介-創(chuàng)新互聯(lián)
當前地址:http://aaarwkj.com/article2/isoic.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供響應式網(wǎng)站、手機網(wǎng)站建設、微信小程序、定制開發(fā)、面包屑導航、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運營
啄木乌欧美一区二区三| 粉嫩一区二区三区av| 亚洲黄色片一区二区三区| 日本的一级片一区二区| 久久97精品人人做人人爽| 最近最新免费成人在线视频| 成年人在线免费观看国产| 成年女人大片免费观看版| 国产精品高清另类一区二区三区| 久碰精品少妇中文字幕av| 国产熟女高潮一区二区| 久久精品国产av极品| 亚洲欧美日韩国产在线一区| 在线蜜臀av中文字幕| 亚洲精品成av人在线观看| 歪歪私人影院午夜毛片| 国产高清精品在线一区| 欧美日韩午夜久久免费| 色偷偷亚洲精品一区二区| 中国美女下面毛茸茸视频| 国产精品久久亚洲一区二区| 亚洲福利视频在线观看免费 | 五月婷婷丁香花综合网| 免费看夫妻性生活视频| 日韩精品综合成人欧美| 在线视频日韩欧美国产二区| 国产精品欧美久久久久无| 在线免费观看日本91| 少妇高潮一区二区三区在线| 最近最新免费成人在线视频| 欧美日韩一区二区午夜福利| 免费看国产一级黄色大片| 日本成人在线播放网站| 中字幕人妻一区二区三区| 午夜福利精品在线观看| 女同亚洲一区二区三区| 中文岳妇荡欲丰满肥熟| 在线一区二区三区高清视频| 四虎在线永久观看视频| 欧洲亚洲精品免费二区| 亚洲欧美日韩制服另类|