铁路由器:何时在此in.route()中使用字符串vs符号作为控制器名称



有人可以帮助解释何时使用字符串,而在此示例中使用该名称的符号。在我的代码中,我的控制器定义为:

PostShowController = RouteController.extend({
   template: 'userShow'
 });

//为什么区别,我的代码仅适用于围绕showcontroller的单个引号,但望远镜使用符号方式:https://github.com/sachag/telescope/blob/master/lib/router.js

Router.map(function () {
   // provide a String to evaluate later
   this.route('postShow', {
     path: '/:name',
     controller: 'PostShowController'
   });
   // provide the actual controller symbol if it's already defined
   this.route('postShow', {
    path: '/:name',
    controller: PostShowController
   });
});

如示例所示("稍后评估"),当您将控制器定义在" router.map(...)"之后的某个位置时,将使用该字符串。或在其他文件中。

考虑到流星以特定顺序加载文件,可以在控制器定义之前从路由器加载中说您的文件,您会使用符号会出现错误,因为无法定义控制器。

为了避免错误,您在定义路由和控制器时应使用字符串,它在另一个文件中或router.map(...)。

最新更新