1
我看到奧裏利亞網站,文章的人使用run() {}
。這種方法通常會做什麼?它是一個生命週期鉤子還是一個新的Javascript 2016方法?javascript/Aurelia中`run(){}`做了什麼?
http://aurelia.io/hub.html#/doc/article/aurelia/framework/latest/cheat-sheet/7
import {Redirect} from 'aurelia-router';
export class App {
configureRouter(config) {
config.title = 'Aurelia';
config.addPipelineStep('authorize', AuthorizeStep);
config.map([
{ route: ['welcome'], name: 'welcome', moduleId: 'welcome', nav: true, title:'Welcome' },
{ route: 'flickr', name: 'flickr', moduleId: 'flickr', nav: true, auth: true },
{ route: 'child-router', name: 'childRouter', moduleId: 'child-router', nav: true, title:'Child Router' },
{ route: '', redirect: 'welcome' }
]);
}
}
class AuthorizeStep {
run(navigationInstruction, next) {
if (navigationInstruction.getAllInstructions().some(i => i.config.auth)) {
var isLoggedIn = /* insert magic here */false;
if (!isLoggedIn) {
return next.cancel(new Redirect('login'));
}
}
return next();
}
}
[這是一個生命週期方法](http://aurelia.io/hub.html#/doc/api/aurelia/router/latest/class/LoadRouteStep)使用ES2015方法的語法寫入。搜索你鏈接到的網站,你會看到使用'run'方法的各種服務。這在ES2015中並不是什麼新鮮事物。 –
它有!謝謝! –