下面是我的示例角度js代码。工厂包含视频源列表。
var videoPlayer=angular.module('videoPlayer',[])
videoPlayer.controller("videoplayer",["$scope","videolist",function($scope,videolist)
{
$scope.position=0;
$scope.audiolength=videolist.sources.length;
$scope.videosrc=videolist.sources[$scope.position];
console.log($scope.videosrc)
}])
videoPlayer.factory('videolist',function()
{
var videolist={};
videolist.sources=[
'videos\1_visualisation.mp4',
'videos\2_visualisation.mp4',
'videos\3_visualisation.mp4'
]
return videolist;
})
为什么" \"从字符串中转出来。
$ scope.videosrc = videolist.sources [$ scope.position];
返回" videos1_visualisation.mp4" 。为什么会发生这种情况
答案 0 :(得分:2)
\
字符开始escape sequence(在这种情况下\1
为1
,因为它没有被定义为特殊的\n
OTOH将成为新的一条线。)
如果要在字符串文字中包含一个作为数据,则必须使用它的转义序列:\\
答案 1 :(得分:1)
您需要转义\
:
videolist.sources=[
'videos\\1_visualisation.mp4',
'videos\\2_visualisation.mp4',
'videos\\3_visualisation.mp4'
]
答案 2 :(得分:1)
反斜杠被解释为开始"转义序列"用于表示特殊字符。例如,\n
表示换行符。如果给定的数字或字母不是识别的转义序列的一部分,则仅显示字符本身。在您的情况下,\1
呈现为1
。要保留斜杠,要么转义斜杠本身......
'videos\\1_visualisation.mp4'
......或者,如果你只需要保留路径......
'videos/1_visualisation.mp4'