Javascript 位于HTML文件中的角度变量中的特殊字符
在我的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
<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);
}