于洋的dojo2學習筆記 4 建立widgets

2021-08-28 22:10:32 字數 1655 閱讀 6244

今天我們學習如何建立自定義的小部件

建立乙個根節點

在于洋的dojo2學習筆記(2.第乙個dojo應用)中,我們建立了乙個單節點應用,建立了biz-e-bodies檢視,這一章,我們要擴充套件一下,增加名字和畫像,虛構的biz-e-bodies下的工人.在此之前,我們需要做一些重構.我們的應用現在是硬編碼渲染widget的.名稱變為了更適合的banner,在main.ts中:

import  from '@dojo/framework/widget-core/mixins/projector';

import banner from './widgets/banner';

const projector = projectormixin(banner);

const projector = new projector();

在檔案頭部加入

import  from '@dojo/framework/widget-core/widgetbase';

import from '@dojo/framework/widget-core/d';

下乙個需要建立的是banner元件,這元件我們在第一課建立.

import banner from './banner';

加入下面的類定義

}

類擴充套件了widgetbase,成為了泛型類並實現了widgetproperties的介面.這使得我們的類有了一些希望在dojo中實現的屬性和方法.在class之前加入了exportdefault的關鍵字.這是標準的es6建立模組方法,也是dojo建立widget的手段.這個widget應作為預設的輸出物使得其易於使用.

我們使用了乙個簡單的
protected render()
這個方法會建立乙個div虛擬節點並且沒有子節點,為了把banner渲染為div的子節點,我們使用w()函式來渲染widget.

將render更新:

protected render() )

]);}

強制物件屬性

w()函式的第二入參是必須的,即使沒有需要傳入的東西.這是為了確保正確的型別守護 

w函式有兩個入參,widget物件和物件字面量.通過typescript generics,字面量必須實現傳入widgetbase的介面,這種情況banner使用widgetproperties,並有下面的定義

export inte***ce widgetproperties

下面測試一下:

如果是在本地環境,執行以下命令

dojo build -m dev -w memory -s

linux學習筆記 4建立使用者

一般用法 useradd mysql 含義 建立 mysql使用者 特殊用法 1 useradd d usr cjh m cjh 含義 建立cjh使用者 產生乙個主目錄 usr cjh usr為預設使用者主目錄組在的父目錄 特殊用法 2 使用者名稱 gem 該使用者登陸shell是 bin sh 隸...

Python2學習筆記(4)

在python中,條件選擇使用if.else.語句。其從上往下判斷,當某個判斷為true時,程式執行完該判斷的語句後就跳出條件選擇。age 30 if age 18 在條件後需要加冒號 print sdult 由於採用縮排方式,一定記得要縮排。且縮排方式最好不要混用 else print teena...

Django學習筆記4 建立模型

專案環境搭建好了可以開工了。django規定,如果要使用模型,必須要建立乙個應用。通過 djaong 編寫的每個應用都是由python包組成的,這些包存放在你的python path 中並且遵循一定的命名規範。django 提供了個實用工具可以自動生成乙個應用的基本目錄架構,因此你可以專注於編寫 而...