小编Ale*_*nov的帖子

如何在没有ng-model的情况下以角度2形式以编程方式更改原始属性

我是Angular 2框架的新手.我感谢任何帮助.

我在角2中有通常的组件:

import {FORM_DIRECTIVES, FormBuilder, Validators} from 'angular2/common';

export class TestComponent {
    public values = ['value1', 'value2', 'value3', 'value4'];
}
Run Code Online (Sandbox Code Playgroud)

然后我注入FormBuilder构造函数:

@Inject(FormBuilder) public fb
Run Code Online (Sandbox Code Playgroud)

HTML包含下一个标记:

<input [(ngModel)]="formData.title" type="text" class="form-control" ngControl="title">
Run Code Online (Sandbox Code Playgroud)

标题和描述非常有用.但我添加了bootstrap下拉列表,它没有任何表单元素.

<div *ngFor="#value of values" (click)="onValueChanged(value)" class="dropdown-item">{{value}}</div>
Run Code Online (Sandbox Code Playgroud)

所以,问题是html标记不包含任何模型.我试图解决这个问题的方法是创建函数onValueChanged

 onValueChanged(value){
    this.formData.controls.value.updateValue(value);
    this.formData.value = value;
    console.log(this.formData.pristine) //Still true :(
}
Run Code Online (Sandbox Code Playgroud)

这两行都不起作用,因为this.formData.pristine下拉列表更改后没有更改.

现在我正在考虑如何更新FormBuilder,例如,有一些方法可以this.fb.update()

javascript angular2-forms angular2-formbuilder angular

4
推荐指数
1
解决办法
5737
查看次数

方法:运算符在Javascript中工作

为什么下一个代码不会出现错误?

var bar = 1,
    foo = {};

foo: {
    bar: 2;
    baz: ++bar;
};
Run Code Online (Sandbox Code Playgroud)

它回来了 2

它知道javascript有标签,它有助于管理循环和if语句.这段代码可以用吗?我看到带有::运算符的AngularJS框架提供了一次性绑定.也许你听到另一个使用那个奇怪的算子的例子.

javascript

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