【发布时间】:2018-11-13 14:09:01
【问题描述】:
我的应用程序中有大约 100 个屏幕,其中 25 个是搜索屏幕。每个搜索屏幕都有多个共同点。
例如:
屏幕 #1: **标签** **输入类型** 名字:文本框 日期:日期选择器 其他一些文本框或单选按钮屏幕#2: **标签** **输入类型** 其他名称:文本框 日期:日期选择器 其他一些文本框或单选按钮
基本上,我将我的 servlet/jsp 应用程序迁移到 Angular 6。我今天重新搜索了如何声明组件并重用它们。我还没有完全理解 Angular 6 的语法和结构,我正在学习。
我目前的想法是:
在我的@Component,我可以有这样的东西:
@Component({
selector: 'custom_elem',
template: `
Generate html as per parameters provided by user
`
export class SubscriberComponent implements OnInit {
@Input() parameters;
}
我为Screen #1传递这样的参数:
<custom_elem [parameters]="['First Name', 'textbox', 'Date', 'datepicker']"></custom_elem>
请注意,对象中的第一个元素是label name,然后是input field type。
所以从组件生成的 html 将是:
First Name: <input type="text" />
Date: <input type="date" />
使用这个参数我想在我的组件中生成 html 代码。
第一季度。这可能吗?
Q2。如果是以上,那怎么办? [请解释一下,因为今天是我体验 Angular 的第一天,我没有使用这个的背景]
注意:我也遇到了角度元素,我不想使用它,因为我读到它还没有被浏览器完全支持。因此,我无法在我的组织中获得批准。
如果需要任何进一步的细节,请在 cmets 中告诉我。提前谢谢你。
【问题讨论】:
-
如果你决定走这条路,你应该考虑使用一个对象数组。例如,
[parameters]="[{'label':'First Name','type':'textbox'},{'label':'Date','type':'datepicker'}]"这将使如何使用输入更加明显。 -
为@yurzui +1。如果您从 Angular 开始,请考虑阅读整个文档。我知道这很长而且很累,但是如果你开始了,那是完全值得的(此外,你提出的每个基本问题都会让人们将你重定向到文档,所以节省一些时间!)
-
教程和文档真的很有帮助。 angular.io/tutorial
-
@csfragstaa 你问错问题了。在 Angular 中,您不会直接操作 DOM,这不是 JQUERY,您使用对象并让 Angular 为您完成繁重的工作
标签: javascript angular