JWi*_*ley 5 javascript syntax angularjs
我是Angular的新手,在继续编写教程时,我在编写模块时略微改变了习惯:
.state('sports.medals', {
url: '/:sportName',
templateUrl: 'sports/sports-medals.html',
resolve: {
sportService: function($http, $stateParams){
return $http.get('/sports/${ $stateParams.sportName }');
}
},
Run Code Online (Sandbox Code Playgroud)
这在项目的其余部分完全编译,没有错误.但是,当调用此函数时,它将内容读取get为整个字符串,而不是按原样解析内容.
调用它的正确方法显然是:
.state('sports.medals', {
url: '/:sportName',
templateUrl: 'sports/sports-medals.html',
resolve: {
sportService: function($http, $stateParams){
return $http.get(`/sports/${ $stateParams.sportName }`);
}
},
Run Code Online (Sandbox Code Playgroud)
使用 `撇号/反引号而不是单引号'
作为一名程序员,我几乎总是在参数中使用javascript和/或双引号时专门使用单引号,所以这让我感到惊讶,并不是立即显而易见的.有没有理由在某处记录这种行为?我应该养成使用反引号而非单引号的习惯吗?我想避免其他这样的惊喜.
反引号是字符串插值工作所必需的.这是一个名为模板插值的ES6功能:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals.
有时它可供您使用,但在浏览器支持方面仍远未普及https://caniuse.com/#feat=template-literals.熟悉它并尽可能使用它!