Javascript 位于HTML文件中的角度变量中的特殊字符

Javascript 位于HTML文件中的角度变量中的特殊字符,javascript,html,angularjs,encoding,Javascript,Html,Angularjs,Encoding,在我的html中,我正在做这样的事情: <li ng-repeat="favorite in favorites track by $index"> <a ng-href="javascript:void(0)" ng-click="changeSVG(favorite)"> <i class="fa fa-sitemap"></i>{{favorite}} </a> </li> 我尝试在日志中显示svgP

在我的html中,我正在做这样的事情:

<li ng-repeat="favorite in favorites track by $index">
  <a ng-href="javascript:void(0)" ng-click="changeSVG(favorite)">
    <i class="fa fa-sitemap"></i>{{favorite}}
  </a>
</li>

我尝试在日志中显示svgPath,它对普通文件工作正常,但是当我尝试使用文件名中的
(空格)和
'
时,没有显示任何内容。

问题发生在函数调用时,用字符串替换了
最喜欢的
。解决方案可以使用
$index
作为函数参数,这样您就可以从控制器代码处的数组
收藏夹中读取数据,添加您可能需要的任何验证。不应出现角弦替换魔法

比如:

模板:

<li ng-repeat="favorite in favorites track by $index">
  <a ng-href="javascript:void(0)" ng-click="changeSVG($index)">
    <i class="fa fa-sitemap"></i>{{favorite}}
  </a>
</li>

您是否尝试过
changeSVG(favorite.toString())
或类似regex的
favorite.replace(/\'/g,“\'”)
?好主意,我刚刚尝试过,但没有效果:
favorite.replace(/\'/g,';”
$sce.trustAsHtml(favorite)
您应该上传整个代码,让我们重现您的问题。否则,您将收到猜测,而不是真正的答案。使用codepen或jsfiddle如果您编写了类似于“”的内容,您将收到这样的错误。不知道为什么以后会调用lexer。。。字符串“ProcessPassagenan'OrdreMob”中的NaN看起来也很神秘。这是您希望在数据中使用的字符串吗?你不能记录并发布收藏夹的价值吗?也许它根本不是一个数组?
<li ng-repeat="favorite in favorites track by $index">
  <a ng-href="javascript:void(0)" ng-click="changeSVG($index)">
    <i class="fa fa-sitemap"></i>{{favorite}}
  </a>
</li>
$scope.changeSVG = function (index) {
    // Add any validation logic here.
    var svgName = favorites[index];

    var defaultZoom = getZoomFromCarto(svgName);

    $scope.currentCartography = svgName;
    $scope.currentZoom = defaultZoom;
    if ($scope.cartoHistory.indexOf(svgName) != -1)
        $scope.cartoHistory.splice($scope.cartoHistory.indexOf(svgName), 1);
    $scope.cartoHistory.unshift(svgName)
    if ($scope.cartoHistory.length > 20)
        $scope.cartoHistory = $scope.cartoHistory.slice(0, 20);

    localStorage.setItem("cartoHistory", JSON.stringify($scope.cartoHistory));
    removeEmbed();
    var svgPath = "SVG/" + $scope.currentLanguage + "/" + svgName + ".svg";
    lastEmbed = createNewEmbed(svgPath, defaultZoom);
}