如何从javascript函数获取angularJS控制器的ID
我在cshtml页面上有这个javascript函数,希望从这个函数访问这个页面的角度控制器上的如何从javascript函数获取angularJS控制器的ID,javascript,asp.net-mvc,angularjs,Javascript,Asp.net Mvc,Angularjs,我在cshtml页面上有这个javascript函数,希望从这个函数访问这个页面的角度控制器上的id。我如何访问 var id; function scheduler_change(e) { var view = this.view().element; view.off("click").on("click", ".k-event", function () { var events = e.events; if (events.length)
id
。我如何访问
var id;
function scheduler_change(e) {
var view = this.view().element;
view.off("click").on("click", ".k-event", function () {
var events = e.events;
if (events.length) {
id = events[events.length - 1].appointmentID;
var cat = events[events.length - 1].category;
var subject = events[events.length - 1].title;
var cuid = events[events.length - 1].cuid;
}
});
}
@格伦迪是对的。由于Id是一个全局变量,您应该能够从angular访问它。但问题是,当启动scheduler_change时,如果event.length有一个值,则Id将得到更新。但是Angular没有办法知道这一点 这是因为角度变化检测发生在angular的边界内,而Id(现在是)在边界外 一个可能的解决方案是使用可观察的对象。请注意,这尚未得到广泛支持。 下面的帖子讨论了滚动您自己的可观察对象。这可能会有所帮助
幸运的是id在这里是全局变量,所以你可以直接使用它。是的,我试过了,但它没有定义。我想在为同一cshtml页面创建的angular controller中使用此id。在单击之前可以未定义此id,但在if
events.length
之后不应未定义此id。这是一种糟糕的设计。为什么不把代码移植到angular中呢?应该明确地读到: