有人可以帮助解释何时使用字符串,而在此示例中使用该名称的符号。在我的代码中,我的控制器定义为:
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(...)。