में स्थित मेरी html में एक बिंदु पर चर में विशेष वर्ण मैं इस तरह बातें कर रहा हूँ:कोणीय 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>
समस्या यह है कि कभी कभी ng-click="changeSVG(favorite)"
में favorite
'
की तरह विशेष वर्ण है। इसलिए मुझे इस तरह की त्रुटियों को कंसोल में मिल रहा है:
Error: [$parse:lexerr] http://errors.angularjs.org/1.3.14/ $parse/lexerr?p0=Unterminated%20quote&p1=s%2042-44%20%5B')%5D&p2=changeSVG('Process%20passageNaN'ordre%20MOB') at Error (native)
मैं इसे कैसे रोक सकता हूं?
मैंने इसे देखने पर $ sce के बारे में सुना लेकिन यह सुनिश्चित नहीं है कि यह मेरी आवश्यकताओं के अनुरूप है और मेरे नियंत्रक में इसका उपयोग कैसे किया जाए।
यहाँ changeSVG()
समारोह है:
$scope.changeSVG = function (svgName) {
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);
}
मैं लॉग में svgPath प्रदर्शित करने के लिए कोशिश की, यह सामान्य फाइलों के साथ ठीक काम करता है, लेकिन जब मैं (स्थान) और में
'
के साथ मेरी फाइल के साथ की कोशिश अपने नाम, कुछ भी प्रदर्शित नहीं होता है।
आप की कोशिश की है 'changeSVG (favorite.toString())' या 'favorite.replace की तरह एक regex (/ \ '/ g, "\'") '? – Freezystem
अच्छा विचार, मैंने अभी कोशिश की है, लेकिन यह – Ellone
काम नहीं करता है और यह: 'पसंदीदा.replace (/ \'/g, "'") 'या' sce.trustAsHtml (पसंदीदा) ' – Freezystem