我想知道如何禁用按钮,具体取决于本地模板varibale的值。这是我的代码 -
<input type="text" #name>
<button [disabled]='name.value' (click)='getvalue()'>Demo</button>
我想在#name的值改变时取消按钮,也就是如何在类(组件类)中获取#name的值?
这里是相同的plnkr http://plnkr.co/edit/3ZHS7jfQIVl2WVsK8BEb?p=preview
答案 0 :(得分:2)
Angular不会运行更改检测,因为没有触发与Angular相关的事件。如果绑定到事件,则Angular运行更改检测,绑定工作
添加(input)="null"
之类的
<input type="text" #name (input)="null">
让您的示例有效。
答案 1 :(得分:0)
搜索后发现One Alternate,
实际上这不起作用,因为Angular变化检测仅在任何事件触发时起作用,但在这种情况下,局部变量不会触发任何事件,
因此,要进行更改检测,我们必须将任何事件添加到输入字段。我们可以通过调用任何函数来执行此操作,或者我们可以执行此操作
通过在输入字段上简单地调用keyup
事件,就像这样 -
<input type="text" #name (keyup)='name.value' />
<button [disabled]='!name.value' (click)='getvalue(name.value)' class="btn btn-md btn-primary">Demo</button>