Javascript 更换单报价AngularJS工厂
我想使用Javascript 更换单报价AngularJS工厂,javascript,json,angularjs,Javascript,Json,Angularjs,我想使用.replace(“”,r“\”)方法来避免JSON字符串中的单引号引起的问题。。这样我的工厂就能按计划运转了 我能从中找到的最简单的解决方案是replace方法,然而,由于JS是新的,我在工厂中实现它时遇到了困难 我不太确定它放在哪里以及如何放置,因此任何调用不同函数(特别是下面脚本末尾的getDish和getDish函数)的给定控制器都会得到一个“格式化字符串” 工厂: })你工厂里有那些盘子硬编码的吗?如果是,问题是您的js在语法上无效。是的,目前它们是硬编码的,稍后将设置Web服
.replace(“”,r“\”)
方法来避免JSON字符串中的单引号引起的问题。。这样我的工厂就能按计划运转了
我能从中找到的最简单的解决方案是replace
方法,然而,由于JS是新的,我在工厂中实现它时遇到了困难
我不太确定它放在哪里以及如何放置,因此任何调用不同函数(特别是下面脚本末尾的getDish
和getDish
函数)的给定控制器都会得到一个“格式化字符串”
工厂:
})你工厂里有那些
盘子硬编码的吗?如果是,问题是您的js在语法上无效。是的,目前它们是硬编码的,稍后将设置Web服务。我从Excel文件中获取json字符串,该文件将来自不同单元格的值组合在一个json字符串中。我可以修改语法组件,但不能修改单元格内容。好吧,问题与js或angular无关。您的代码现在无效。手动转义这些引号。必须有一个解决方案来“扫描”数组并替换字符。。(替换方法是什么)我无法手动转义这些引号,因为太多的entries无法获得数组,因为语法无效。您的js文件生成解析错误。意味着没有执行阶段。时期如您所见,未能突出显示您的代码示例。
angular.module('wmapp.factory_dishes', [])
.factory('dishesFactory', function (){
var factory = {
dishes :[
{ nameEnglish: 'beef burgungdy',
nameLocal: 'boeuf bourgignon',
description: 'xxxxxx',
region: 'sicile',
itemid: 'IT018',
cuisineTypeIsoCode: 'IT',
country:'France',
dishCategory: 'Meat',
},
{ nameEnglish: 'duck liver',
nameLocal: 'foie gras',
description: 'xxxxxx',
region: 'sicile',
itemid: 'IT021',
cuisineTypeIsoCode: 'IT',
country:'France',
dishCategory: 'fruit',
},
{ nameEnglish: 'veal stew',
nameLocal: 'blanquette de veau',
description: 'xxxxxx',
region: 'parme',
itemid: 'IT023',
cuisineTypeIsoCode: 'IT',
country:'France',
dishCategory: 'fruit',
},
{ nameEnglish: 'onion soup',
nameLocal: 'soxxxxxx',
region: 'vanitia',
itemid: 'IT022',
cuisineTypeIsoCode: 'IT',
imageSource: '( "img/" + dish.cuisineTypeIsoCode + "/" + dish.itemid + "small.jpg")',
country:'France',
dishCategory: 'Soup',
},
{ nameEnglish: 'TAPENADE',
nameLocal: 'Tapenade',
description: 'xxxxxx',
region: 'Provence-Alpes-Côte d'Azur',
regioncode: 'FR.B8',
itemid: 'FR002',
cuisineTypeIsoCode: 'FR',
dishCategory: 'Entrée / Appetizers',
country: 'France'}
],
getDishes : function (){
return factory.dishes;
},
getDish :function (itemid){
var dish = {};
angular.forEach(factory.dishes, function(value, key) {
if (value.itemid == itemid){
dish = value
}
});
return dish;
}
}
return factory;