Javascript 有没有一种方法可以通过资源检测路由更改?
我正在利用余烬资源作为我的应用程序路由的一部分。我在大多数路由上使用deactivate来检测它何时发生变化,但在控制器或视图文件中似乎无法使其工作。我只在将其放置在我的路由文件中时看到过使用deactivate的成功。有没有更好的办法 我的主要问题是,在调用另一个按钮和后续函数后,我需要检测页面或路由何时更改。用户流程如下所示:Javascript 有没有一种方法可以通过资源检测路由更改?,javascript,ember.js,cross-browser,url-routing,detect,Javascript,Ember.js,Cross Browser,Url Routing,Detect,我正在利用余烬资源作为我的应用程序路由的一部分。我在大多数路由上使用deactivate来检测它何时发生变化,但在控制器或视图文件中似乎无法使其工作。我只在将其放置在我的路由文件中时看到过使用deactivate的成功。有没有更好的办法 我的主要问题是,在调用另一个按钮和后续函数后,我需要检测页面或路由何时更改。用户流程如下所示: 用户导航到页面(这是一个资源路由) 用户单击按钮以激活功能 用户导航离开当前页面 需要检测该更改并隐藏激活的功能 按钮绑定到的控制器上可以有一个active属性 //
按钮绑定到的控制器上可以有一个
active
属性
//yourcontroller.js
App.Yourcontroller = Ember.ObjectController.extend({
active: true
});
// template
{{#if active}}
<button>
{{/if}}
禁用
有什么问题?你可以在你的视图绑定到的控制器中有一个属性active
,在deactivate
上将该属性设置为false这里唯一的问题是我没有route.js文件,因为页面正在使用资源,所以据我所知,无法使用deactivate。仅仅在控制器中使用该功能也行吗?资源也有路由。ie:this.resource('post')
将有一个相应的PostRoute
// route.js
deactivate: function() {
this.controllerFor('yourcontroller').set('active', false);
}