往Angular应用程序中添加DevExtreme
To start this tutorial, you need an Angular 5+ application created using the Angular CLI. Refer to the Angular CLI documentation for information on how to create such an application. You can also create an Angular application with DevExtreme already added to it.
一键安装
你可以用npx命令安装配置DevExtreme以及相关依赖npx是 DevExtreme CLI的一部分:
npx -p devextreme-cli devextreme add devextreme-angular
注意
npx 在 npm v5.2 及更高版本上有效。 假如你用的是早期版本,升级npm或安装全局DevExtreme CLI,然后运行命令:
npm i -g devextreme-cli
devextreme add devextreme-angular
运行完命令后,你可以直接跳过以下的文章,直接导入 DevExtreme 模块。
要是命令因某些原因不可用,以下指令可用于手动配置。
安装 DevExtreme
安装 devextreme 与 devextreme-angular 的 npm 包:
npm install devextreme@19.1 devextreme-angular@19.1 --save --save-exact
注意
因为DevExtreme没有使用Semantic版本管理,我们建议使用指定版本的DevExtreme,防止不必要的升级。我们的版本管理系统中,第一个和中间的数字表示主版本,包括行为的变更。
配置样式表
打开 angular.json ,引入 dx.common.css 及预定义的主题样式表 (dx.light.css )。
angular.json
{
"projects": {
"ProjectName": {
"architect": {
"build": {
"options": {
"styles": [
"node_modules/devextreme/dist/css/dx.common.css",
"node_modules/devextreme/dist/css/dx.light.css",
"src/styles.css"
],
...
},
...
},
...
}
},
...
},
...
}
对于Angular CLI 6 之前的版本,修改 angular-cli.json 成如下:
angular-cli.json
{
"apps": [{
"styles": [
...
"../node_modules/devextreme/dist/css/dx.common.css",
"../node_modules/devextreme/dist/css/dx.light.css",
"styles.css"
],
...
}],
...
}
注意
基于SVG的小部件不需要主题样式。你要是引用了这些样式,则小部件应用匹配的外观。
Angular CLI 6+ 中注册第三方依赖
JSZip 注册
如果你要使用 DataGrid 小部件,在tsconfig.json里注册JSZip库。这个小部件使用该库在客户端导出Excel。
tsconfig.json
{
...
"compilerOptions": {
...
"paths": {
"jszip": [
"node_modules/jszip/dist/jszip.min.js"
]
}
}
}
全局注册
你如果想语言本地化,要先安装这个包和 devextreme-cldr-data 扩展:
npm install --save-dev devextreme-cldr-data globalize
接着在tsconfig.json中注册语言包和 CLDR 脚本scripts ……
tsconfig.json
{
...
"compilerOptions": {
...
"paths": {
"globalize": [
"node_modules/globalize/dist/globalize"
],
"globalize/*": [
"node_modules/globalize/dist/globalize/*"
],
"cldr": [
"node_modules/cldrjs/dist/cldr"
],
"cldr/*": [
"node_modules/cldrjs/dist/cldr/*"
],
"jszip": [
"node_modules/jszip/dist/jszip.min.js"
]
}
}
}
……然后在src中创建 typings.d.ts 文件,Globalize, DevExtreme 本地消息, 及 devextreme-cldr-data:
typings.d.ts
declare module 'globalize' {
const value: any;
export default value;
}
declare module 'devextreme/localization/messages/*' {
const value: any;
export default value;
}
declare module 'devextreme-cldr-data/*' {
const value: any;
export default value;
}
使用Angular CLI 5或更早版本的项目, config.js 的配置如下:
config.js
System.config({
// ...
paths: {
"npm:": "node_modules/"
},
map: {
// ...
"globalize": "npm:globalize/dist/globalize",
"cldr": "npm:cldrjs/dist/cldr",
"cldr-data": "npm:cldr-data",
"json": "npm:systemjs-plugin-json/json.js",
},
packages: {
app: {
// ...
"globalize": {
main: "../globalize.js",
defaultExtension: "js"
},
"cldr": {
main: "../cldr.js",
defaultExtension: "js"
}
}
}
});
参考使用全球化的文章示例。
另外,可使用 Intl 这种更轻量的本地化方案。
导入DevExtreme 模块
找到将使用DevExtreme组件的 NgModule ,导入需要的 DevExtreme 模块。注意,如果应用程序中配置了撼树,则可以用 devextreme-angular导入模块。 否则,你要从特定的文件中导入他们。
app.module.ts
// ...
import { DxButtonModule } from 'devextreme-angular';
// or if tree shaking is not configured
// import { DxButtonModule } from 'devextreme-angular/ui/button';
@NgModule({
imports: [
// ...
DxButtonModule
],
// ...
})
export class AppModule { }
现在可以在应用程序中使用 DevExtreme 组件了:
app.component.htmlapp.component.ts
<dx-button
text="Click me"
(onClick)="helloWorld()">
</dx-button>
运行应用程序
运行应用程序的命令如下:
ng serve
Open http://localhost:4200/ to browse the application
往Angular应用程序中添加DevExtreme的更多相关文章
- 如何在RCP程序中添加一个banner栏
前言:这段时间还算比较空闲,我准备把过去做过的有些形形色色,甚至有些奇怪的研究总结一下,也许刚好有人用的着也不一定,不枉为之抓耳挠腮的时光和浪费的电力.以前有个客户提出要在RCP程序中添加一个bann ...
- 使用info.plist(或工程名-info.plist)向程序中添加软件Build ID或者版本号信息
在实际应用程序开发过程中,经常需要向程序中添加软件版本号或者类似的信息,以保证之后发现问题时知道bug所在的版本,我们可以通过在工程名-info.plist文件中设置相关的key/value对(键/值 ...
- 对类HelloWorld程序中添加一个MessageBox弹窗
对类HelloWorld程序中添加一个MessageBox弹窗 分析: 任一程序运行的时候都会加载kernel32.dll的,但MessageBoxA()这个API却是在user32.dll中的.所以 ...
- 【MFC - 菜单】在对话框程序中添加菜单栏(CMenu)(转)
原文转自 http://lishiqiang1988.blog.163.com/blog/static/41147912201382104631547/ VS2010的MFC对话框程序中添加菜单栏的过 ...
- 如何在VS2010的VC++ 基于对话框的MFC程序中添加菜单
方法1:亲测 成功 转载自https://social.msdn.microsoft.com/Forums/vstudio/zh-CN/48338f6b-e5d9-4c0c-8b17-05ca3ef ...
- 控制台应用程序中添加对MFC的支持
在windows控制台应用程序中,肯能会想使用一些MFC中的类,如CStringArray等,通过下面两步简单的设置可以添加对MFC的支持: 1.右击工程名 -> References 选择 A ...
- [水煮 ASP.NET Web API2 方法论](1-2)在 WebForm 应用程序中添加 ASP.NET Web API
问题 怎么样将 Asp.Net Web Api 加入到 Asp.Net Web From 应用程序中 解决方案 在 Visual Studio 2013 中,创建新的 Web From,可以直接在&q ...
- .net应用程序中添加chm帮助文档打开显示此程序无法显示网页问题
在做.net大作业时添加了chm帮助文档结果在打开时显示“此程序无法显示网页问题”,但是把帮助文档拷到别的路径下却显示正常, 经过从网上查找,终于找到了答案: (1).chm文件的路径中不能含有“#” ...
- MFC窗体程序中添加调试控制台
在编写复杂程序的过程中,我们经常需要将一些信息输出到文件或者屏幕上.较控制台应用程序,MFC窗体程序要显得麻烦一些! 下面有2种方法来实现为MFC窗体程序添加调试控制台,方便程序员调试程序和了解当前程 ...
随机推荐
- CentOS7 使用光盘镜像作为yum源
1. 首先,如果是虚拟机,则确认guest有光驱并且处于激活状态,如果是真机则在光驱中插入光盘 :-) 2. mkdir /media/cdrom mount /dev/cdrom /media/c ...
- STM32WB HSE校准
通过改变RCC_HSECR寄存器中的HSETUNE[5:0]位域的值来校准HSE的输出频率 1.将HSE时钟配置为MCO模式输出到PA8引脚 HAL_RCC_MCOConfig(RCC_MCO1, R ...
- 身份证js正则
/* 根据[中华人民共和国国家标准 GB 11643-1999]中有关公民身份号码的规定,公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位 ...
- String类型为什么不可变
在学习Java的过程中,我们会被告知 String 被设计成不可变的类型.为什么 String 会被 Java 开发者有如此特殊的对待?他们的设计意图和设计理念到底是什么?因此,我带着以下三个问题,对 ...
- manjaro 常用软件安装
1.搜狗输入法 sudo pacman -S fcitx-sogoupinyin fcitx-configtool fcitx-im yay -Sa fcitx-qt4 sudo vim /etc/e ...
- Sass的混合-@mixin,@include
1,无参数,有参数和带默认值参数的@mixin声明sass文件内容: //带参数,默认50@mixin opa($opa:50){ opacity: $opa / 100; filter:alpha( ...
- qt qttablewidget
item setitem 界面显示文件卡住 建议:不要用setitem 应该用insertitem
- Navicat for Mysql查询结果导出无表名
在查询窗口用select语句按条件查出所需结果,然后用“导出向导”把查询结果导成sql文件,但是导出来的sql语句没有表名了. 导成的sql文件大致是这样的, INSERT INTO `` (`id` ...
- cefsharp文档
原文链接:https://github.com/cefsharp/CefSharp/wiki/CefSharp中文帮助文档#a1_1 CefSharp中文帮助文档 目录 基础知识 1.1 cefsha ...
- SparkSQL之UDAF使用
1.创建一个类继承UserDefinedAggregateFunction类. ------------------------------------------------------------ ...