Angular2 双向绑定的问题

2016-09-01 18:34:54 +08:00
 duxiaodong121
<x-test [show]="isShow" (show)="isShow=$event"></x-test>
@Component({
	selector: 'x-text'
})
class XText {
	@Input('show') show: boolean = false
	@Output('show') showChange: EventEmitter<boolean> = new EventEmitter()
	
	hide() {
		this.show = false
		this.showChange.emit(this.show)
	}
}

请问上面代码要怎么改动, html 才可以写成 <x-test [(show)]="isShow"></x-test>

2672 次点击
所在节点    问与答
6 条回复
duxiaodong121
2016-09-01 18:39:06 +08:00
根本看不懂 V2EX 怎么排序的
WhoMercy
2016-09-01 18:51:30 +08:00
Angular2 貌似看不懂了( ̄∀ ̄)……
crysislinux
2016-09-01 19:39:18 +08:00
你应该让外部来改变 show 的值,而不是在内部改。
xjp
2016-09-01 20:54:36 +08:00
改两个地方
1. <x-test [show]="isShow" (showChange)="isShow=$event"></x-test>
2. @Output() showChange: EventEmitter<boolean> = new EventEmitter()
xjp
2016-09-01 21:01:26 +08:00
duxiaodong121
2017-01-05 16:23:29 +08:00
@xjp 不是,我发的代码能工作,只是样子不好看,想写成 `[(show)]="isShow"` 的,简单的这样写是实现不了的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/303285

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX