我需要从另一个组件模板获取标签的ID
<li id="form" (onDragStart)="getDraggableId($event)">Form</li>
在typescript文件(组件)中我有这个
getDraggableId(event) {
this.gridService.setDraggabledIdGrid(event.mouseEvent.target.id);
console.log("event " + this.gridService.getDraggabledIdGrid());
}
如何获得event.mouseEvent.target.id
我尝试创建一个服务gridService来介于两个组件之间
@Injectable()
export class gridService {
draggableIdGrid:string;
constructor() {
}
getDraggabledIdGrid():string{
return this.draggableIdGrid;
}
setDraggabledIdGrid(value){
this.draggableIdGrid = value;
}
}
但是当我调用方法getDraggableIdGrid时,我得到了未赋值的值
答案 0 :(得分:0)
最有可能的是,您不小心创建了两个gridService服务实例。
确保只有一个祖先组件在其var load_source = function (path) {
/* Variable used to determine whether the request was successful */
var success = false;
$.ajax(
{
url: path,
async: false,
dataType: 'script',
method: 'GET',
success: function(){
success = true;
},
error: function (xhr, status, error) {
console.log(error.stack ? error.stack : error);
}
}
);
return success;
}
数组中指定gridService
- 即one instance per component subtree -
或者,使您的服务可用application-wide。
答案 1 :(得分:-1)
你可以这样做
(<HTMLInputElement>event.target).id)