使用Angular2s表单并尝试找出使用选择处理事件的过程.我有一个存储在选项中的对象Heros.我想要做的是,当我选择了英雄时,触发一个事件到父组件,它将对结果做一些事情.但是,我找不到能够在选择发生变化时接收事件的具体示例(即列表中的新英雄已被选中).
interface Hero {
id: number;
name: string;
}
@Component({
selector: 'my-app',
template:`
<h1>{{title}}</h1>
<form>
<select>
<option *ngFor="#hero of heros "
[value]="hero">
{{hero .name}}
</option>
</select>
</form>
`
})
export class AppComponent {
@Input() heros:Observable<Hero>
@Output("selectedHeroChange") selectedHeroChange:EventEmitter<any> = new EventEmitter
onHeroChange(hero:Hero){
this.selectedHeroChange._next(hero);
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我正在尝试开发一个小的java 2d塔防游戏,我遇到了试图计算如何做导弹的问题.经过几个小时的搜索和测试,我更加困惑.
到目前为止我所拥有的是:
Math.sqrt(x2, x1, y2, y1).现在我遇到的问题是如何将导弹的增量x和y缩放到目标,这看起来很逼真.数学不是我的强项,而是在这里展示.下面我展示了我对塔楼SE象限的看法.
public int distanceX, distanceY;
public double sep, scale;
if(xBullet < Screen.mobs[shotMob].x && yBullet < Screen.mobs[shotMob].y){
distanceX = Screen.mobs[shotMob].x- xBullet;
distanceY = Screen.mobs[shotMob].y - yBullet;
sep = Math.sqrt( (distanceX * distanceX) + (distanceY * distanceY));
scale = // This is the part I am confused about.
xBullet += distanceX * scale;
yBullet += distanceY * scale;
Run Code Online (Sandbox Code Playgroud) 我开始研究使用Angular2和我遇到的一个我无法找到解决方案的问题.我要求根据我从模型中收到的数据,我希望为给定的组件加载不同的模板.这主要与根据我收到的数据维护不同的布局有关.这可能吗?
谢谢
我有一个要求,我想通过方法调用根据其父组件的大小更改子组件的属性。我遇到的问题是,我唯一可以听到的调整大小事件是窗口的调整大小事件,这无济于事,因为窗口大小没有改变,只有父组件是由于侧面板 div 打开和关闭。
目前我能看到的唯一可能性是进行某种轮询,在这种轮询中,我们在子组件本身内检查其宽度是否每 x 时间改变一次。
谢谢你的帮助!
我有一个关于 Angular2 中订阅处理的高级问题。我最近阅读了很多关于糟糕的订阅处理如何由于未正确取消订阅而导致代码中的内存泄漏。
@Components 的一个简单解决方案是满足周围的所有订阅并在 ngOnDestroy 生命周期事件中处理它们。
但是,对于不属于 @Component 并且有订阅的控制器,正确取消订阅的最佳方法是什么?目前,我正在考虑让控制器公开订阅或它自己的 onDestroy 方法,但这并不觉得它可以轻松/通用地完成,所以我很想听听其他选项/意见。
谢谢!
编辑:澄清这不是服务问题,而只是控制器问题。
美好的一天!
所以我试图写一个函数是Haskell如下
remove_nulls :: [ ([String], Int) ] -> [ ([String], Int) ] -> [ ([String], Int) ]
remove_nulls listofpair (y:ys)
| null listofpair = (y:ys)
| null (fst(head listofpair))= remove_nulls (tail listofpair) (y:ys)
| otherwise = remove_nulls (tail listofpair) (y:(head listofpair):ys)
Run Code Online (Sandbox Code Playgroud)
这需要一个看起来像这样的输入
remove_nulls [ ([],0) , (["abc", "dce"], 2) ] []
Run Code Online (Sandbox Code Playgroud)
我们的想法是,如果元组的第一个值包含null,它将从列表中删除元组.但是,每次调用它都会返回"函数remove_nulls中的非穷举模式".
我试过改变基本情况,但我总是得到相同的结果.任何帮助和利用都会很棒(目前只是在学习Haskell).
angular ×4
2d ×1
game-physics ×1
haskell ×1
java ×1
list ×1
math ×1
null ×1
observable ×1
resize ×1
rxjs ×1
select ×1
tuples ×1
typescript ×1