相关疑难解决方法(0)

如何在Angular 2中创建下拉组件?

我想使用Angular 2创建一个下拉菜单,但我不知道如何在"Angular 2 way"中创建它.

我可以创建一个像这样使用的下拉组件:

<dropdown>
    <li (click)="action('item 1')">Item 1</li>
    <li (click)="action('item 2')">Item 2</li>
</dropdown>
Run Code Online (Sandbox Code Playgroud)

这似乎很好,但是然后action需要在包含该组件的组件上定义该方法,<dropdown>并且<li>元素不会从<dropdown>组件中的样式中应用样式,这有点奇怪.

另一种选择是创建像这样使用的组件:

<dropdown>
    <dropdown-item (click)="action('item 1')">Item 1</dropdown-item>
    <dropdown-item (click)="action('item 2')">Item 2</dropdown-item>
<dropdown>
Run Code Online (Sandbox Code Playgroud)

这更详细,dropdown-item组件处理单击操作,项目的样式也由dropdown-item组件定义.

在Angular 2中有更典型的方法吗?

编辑:我不是在谈论表单的自定义选择输入.更像是带有选项的菜单或右键单击上下文菜单.

angular

19
推荐指数
1
解决办法
11万
查看次数

以编程方式更新 Angular 2 中指令的输入值

我在组件中有这个模板:

...
<div class="myCustomDirective">
    <input name="value" type="text" [(ngModel)]="value" />
</div>
...
Run Code Online (Sandbox Code Playgroud)

我想更新 的值myCustomDirective。像这样直接更新输入元素:

this.elementRef.nativeElement.querySelector('input').value = 'bla';
Run Code Online (Sandbox Code Playgroud)

...不更新组件中的模型。

使用角度 4.2.6。

typescript angular

7
推荐指数
1
解决办法
3万
查看次数

标签 统计

angular ×2

typescript ×1