巧用ngStyle改变样式
2016-12-27 10:38
183 查看
过来了一个需求,要求我之前写的搜索框的控件,要能适用不同的界面布局,刚好看到了一篇文章~官网里面的模板语法
点击打开链接
再把官网中的例子改改,这样使用者可以通过传入一组字符串动态的修改样式,适应UX的各种不同要求
setStyle() {
if (this.customStyle === '') {
return;
} else {
return JSON.parse(this.ChangeStringToStandard(this.customStyle));
}
}
定义 @Input() customStyle:string = '';并可以传入一组string作为要用的style
[customStyle]="'width:200px;height:30px;margin-right:20px'"
点击打开链接
再把官网中的例子改改,这样使用者可以通过传入一组字符串动态的修改样式,适应UX的各种不同要求
setStyle() {
if (this.customStyle === '') {
return;
} else {
return JSON.parse(this.ChangeStringToStandard(this.customStyle));
}
}
//width:50px,height:50px ==> "{"width":" 50px","height":"50px"}" ChangeStringToStandard(inputStr:string):string { let inputString = ''; if (inputStr[(inputStr.length) - 1] === ';') { inputString = inputStr.substring(0, (inputStr.length) - 1); } else { inputString = inputStr; } let localArrayOfStyle:string = ''; localArrayOfStyle += '{'; localArrayOfStyle += '"'; for (let value of inputString) { if (value !== ':' && value !== ';') { localArrayOfStyle += value; } else if (value === ';') { localArrayOfStyle += '"'; localArrayOfStyle += ','; localArrayOfStyle += '"'; } else if (value === ':') { localArrayOfStyle += '"'; localArrayOfStyle += value; localArrayOfStyle += '"'; } } localArrayOfStyle += '"'; localArrayOfStyle += '}'; return localArrayOfStyle; }使用的时候
定义 @Input() customStyle:string = '';并可以传入一组string作为要用的style
[customStyle]="'width:200px;height:30px;margin-right:20px'"
相关文章推荐
- Android App监听软键盘按键的三种方式与改变软键盘右下角确定键样式
- [微信小程序]js动态改变数组对象列表中的样式
- 【Angular】关于angular引用第三方组件库无法改变其组件样式 :host ::ng-deep
- html之改变ol默认样式
- javascript改变样式
- 如何改变Label中字符串的样式
- c++ builder 改变状态栏字体颜色等样式
- 通过angular.element,转变成jquery对象,改变样式!
- 用CSS改变鼠标样式
- 在flex中使用CSS改变控件样式
- 改变滚动条样式,适用于webkit内核的浏览器,平滑返回顶部功能实现
- 服务端恢复或改变鼠标的样式
- 改变HTML中超链接的显示样式 分类: C1_HTML/JS/JQUERY 2014-08-27 10:11 595人阅读 评论(0) 收藏
- 用C#代码动态改变页面样式
- js 中用Dom2级事件处理函数(改变样式)
- JavaScript改变HTML元素的样式改变CSS及元素属性
- 改变鼠标样式
- openlayer通过SLD改变图层Feature的样式
- Linux的shell中echo改变输出显示样式
- 如何改变 file 类型的“浏览”按扭样式【转】