- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有来自google_place_api的数据,其中响应数据是json
我正在处理的应用程序有问题,当点击或粘贴照片(照片)而不是在 google_place_api 上时会发生错误
下面是我做的代码
<RadListView orientation = "horizontal" for = "restaurant in restaurants" @ itemTap = "onItemTap">
<v-template>
<StackLayout orientation = "horizontal">
<StackLayout margin = "10">
<StackLayout class = "album-image" height = "110"
width = "125" v-if = "restaurant.photos == null" backgroundImage = "~ / assets / images / no-image.jpg"
borderRadius = "5">
<Button horizontalAlignment = "right"
marginRight = "5" marginTop = "80"
width = "50" height = "20"
class = "fa btn-rounded-sm"
color = "# FFFFFF" backgroundColor = "# 3b75ff">
{{'fa-star' | fonticon}} {{restaurant.rating}}
</ Button>
</ StackLayout>
<StackLayout class = "album-image" height = "110"
v-else width = "125":
backgroundImage = "'https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photoreference='+ restaurant.photos [0] .photo_reference +' & key = AIzaSyBAL1OTLzPeepaf_USJXL93BpUFNEZnW0s '"
borderRadius = "5">
<Button horizontalAlignment = "right"
marginRight = "5" marginTop = "80"
width = "50" height = "20"
class = "fa btn-rounded-sm"
color = "# FFFFFF" backgroundColor = "# 3b75ff">
{{'fa-star' | fonticon}} {{restaurant.rating}}
</ Button>
</ StackLayout>
<Label fontSize = "14" class = "font-weight-bold"
color = "# 000000": text = "restaurant.name"
width = "125" textWrap = "true"> </ Label>
<Label fontSize = "12" color = "# 999999" v-if = "restaurant.opening_hours" text = "Open"> </ Label>
<Label fontSize = "12" color = "# 999999" v-else text = "Close"> </ Label>
</ StackLayout>
</ StackLayout>
</ v-template>
</ RadListView>
methods: {
onItemTap: function (args) {
if (args.item.photos == false) {
this. $ navigateTo (Details, {
props: {
name: args.item.name,
photo_reference: '2',
vicinity: args.item.vicinity,
place_id: args.item.place_id
}
})
} else {
this. $ navigateTo (Details, {
props: {
name: args.item.name,
photo_reference: args.item.photos [0] .photo_reference,
vicinity: args.item.vicinity,
place_id: args.item.place_id
}
})
}
}
}
};
这是来自 json google_place_api 的响应
{
"html_attributions" : [],
"next_page_token" : "CqQCHQEAAJCG9rz5PgTwy98lf48-BwOY4r1w81EKnY5z9dANWCoIkoAAJk3DM1S39yCVS-v4V3TQz6YtyfDTGdERz5uOkeVsO0gnUzrFHpVF20sw_hEzrfaTRH8XooobZx3R03RDyKWXIsBRnTk81n_5mmpGWSWVWJqmbED6vmpskS67S8VNk6rCPxFvJUwLJA33BY2cSNstJuYxvTrF3_gsFsjVjMFNFRRTa6w3qG3NiYh1BTltepP2D35xjJvDjmMojGyYUt4qZEbL7HEYQljJadowtVsr0Z8uoS_fDRHi_euhQKEtainwCU5xwP-OdFWS4mVf6TLSga-e7bahfED8lAK0wKACrjpIjL8d4P9wpb0l55xejGNFOtbbWHi4frOdtO9OOxIQGigF4VhSapLvGNKTq1lIKBoUr7jykxb1u8x9WhKi4X5CruPaOIE",
"results" : [
{
"geometry" : {
"location" : {
"lat" : -6.226227,
"lng" : 106.847663
},
"viewport" : {
"northeast" : {
"lat" : -6.224883769708498,
"lng" : 106.8489245802915
},
"southwest" : {
"lat" : -6.227581730291503,
"lng" : 106.8462266197085
}
}
},
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
"id" : "0d7b22d2f507af850a9b2349c4aab667b185bfd3",
"name" : "Lembaga Pendidikan Forwarder Citra",
"place_id" : "ChIJB2g2e3X0aS4RMmBKDzR9-JA",
"plus_code" : {
"compound_code" : "QRFX+G3 Jakarta, Daerah Khusus Ibukota Jakarta, Indonesia",
"global_code" : "6P58QRFX+G3"
},
"reference" : "ChIJB2g2e3X0aS4RMmBKDzR9-JA",
"scope" : "GOOGLE",
"types" : [ "school", "point_of_interest", "establishment" ],
"vicinity" : "Jalan Doktor Saharjo No.90, RT.1/RW.1, Tebet Barat"
},
{
"geometry" : {
"location" : {
"lat" : -6.224798300000001,
"lng" : 106.8497668
},
"viewport" : {
"northeast" : {
"lat" : -6.223519219708498,
"lng" : 106.8511687802915
},
"southwest" : {
"lat" : -6.226217180291503,
"lng" : 106.8484708197085
}
}
},
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/school-71.png",
"id" : "4fbbb8de1cae9e9695046dc1635ba4740e043b24",
"name" : "Sekolah Dasar Negeri Tebet Barat 05 Pagi",
"photos" : [
{
"height" : 581,
"html_attributions" : [
"\u003ca href=\"https://maps.google.com/maps/contrib/103922188834564148985/photos\"\u003eMuhammad Fahrezi\u003c/a\u003e"
],
"photo_reference" : "CmRaAAAAnbRH-U389KjLJajYPjyGhU6rKmIu4xj9VgK5nykZyNL7F2-16-heXOAgx1ZuYPSHDGCygjFeP91gtlKGS4riCsaDz-9Laqe3a_Nv0djiAVXnVDDAK6cVfLpn9OkAbNUWEhD3wS-5z-IQ6hgfNU42VVUMGhSJFDaQUcziw7SGEdqxdkkeAyxfsg",
"width" : 581
}
],
"place_id" : "ChIJJVbQUI7zaS4Rm2Xt5hsmolE",
"plus_code" : {
"compound_code" : "QRGX+3W Jakarta, Daerah Khusus Ibukota Jakarta, Indonesia",
"global_code" : "6P58QRGX+3W"
},
"rating" : 4.8,
"reference" : "ChIJJVbQUI7zaS4Rm2Xt5hsmolE",
"scope" : "GOOGLE",
"types" : [ "point_of_interest", "school", "establishment" ],
"user_ratings_total" : 19,
"vicinity" : "Jalan Tebet Dalam III No.49, RT.3/RW.1, Tebet Barat"
}
在我看来,上面的错误是因为照片数组不在 json 响应部分之一中。如果我单击或点击包含来自 google_place_api 的照片的 json 响应结果,应用程序将按预期运行
如何修复没有 json 照片响应的错误?
最佳答案
测试 args.item.photos == false
不能如您所愿地工作,因为它在 photos
不存在时返回 true
.您可以使用 if (!args.item.photos)
或 if (typeof args.item.photos === 'undefined')
进行测试。
不过,您还是在重复一些代码。我会将其重构为:
onItemTap: function (args) {
const detailsProps = {
name: args.item.name,
vicinity: args.item.vicinity,
place_id: args.item.place_id
}
// make sure photo_reference exists and add it to the props list
if (typeof args.item.photos !== 'undefined'
&& args.item.photos
&& !!args.item.photos[0].photo_reference) {
detailsProps.photo_reference = args.item.photos[0].photo_reference
}
this.$navigateTo (Details, {
props: detailsProps
})
}
关于javascript - Nativescript Vue 类型错误 : Cannot read property '0' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55144725/
如何在 Nativescript + Angular 中实现 RadioButtons? 我试过 RadioButton 插件,但它在编译时出错。我在 stackoverflow 上看到一篇文章说要使
每当我单击 window 的 nativeScript sidekick 下载链接时,它都会将我重定向到主页。我在那里没有看到 nativescript 助手的任何下载链接。所以我寻找关于sideki
如何在 nativescript-angular 中的分段栏中添加图像图标。你能帮我解决这个问题吗
我正在寻找一个开源的 NS7 替代 nativescript 下拉菜单。有没有人有建议。我正在将我的应用程序移植到 NS7,但无法找到替代付费版本插件的插件。 最佳答案 我的解决方法是打开一个包含下拉
enter image description here如何在 android 中更改启动画面 (LaunchScreenTheme) 的状态栏图标颜色? 我尝试了下面的代码,但它不起作用。 #FFF
Nativescript 5 已发布,我正在尝试更新 tns 版本。目前它 tns --version 显示为 4.3.2。 我遵循了 https://docs.nativescript.org/re
我想将大小为 3000*4200 像素的 SD 卡中的图像调整为 250*250 大小的个人资料图片。我尝试了很多使用 android BitmapFactory 的方法,但没有任何效果。 有这个插件
我想在 NativeScript 的绝对布局中在屏幕底部放置一个元素。 我有这个代码: 我发现 Absolut
最近我在用 nativescript 编写一个应用程序,现在我遇到一个问题,我不知道如何保存用户的登录状态。比如用户第一次登录,以后就不需要登录了。那么我该如何实现呢? 最佳答案 我确实在我的应用程序
我正在尝试在我的 NativeScript 应用程序中创建具有动态行数和列数的表或数据网格。我有一些产品类别和这些类别中的一些产品。产品对其所属类别有一些规范。以下是图形卡类别产品的 JSON 示例:
我没能找到列表选择器的 NS+JS 工作示例,文档中的示例都没有 XML 示例。有人可以帮忙吗? 最佳答案 您需要做的是绑定(bind)一个 的 items属性到页面上的数组 bindingConte
我正在尝试更改 nativescript 中 progress 组件的高度,如下所示: 但是 height 属性没有效果。如何更改此组件的高度? 最佳答案 您可以使用 height 属性更改 Pr
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 2年前关闭。 Improve this qu
在 NativeScript 中,是否可以从 Nativescript 应用程序中启动另一个应用程序? 假设我在一个应用程序中有一个按钮,当按下它时,它会启动 Waze 导航应用程序,并带有一个位置的
你如何附加到文件而不是覆盖它? file-system module文档解释了如何写入文件: The following example writes some text to a file. It
对于NS项目,如何设置最低iOS版本。 我有IPHONEOS_DEPLOYMENT_TARGET = 8.0;在我的build.xcconfig文件中 但是在构建过程中,我收到未设置的消息。 在构建过
我想从 NativeScript 项目中的自定义组件公开一个方法。这是概念设置: 我的组件.xml ...UI markup... MyComponent.ts export function l
使用最新版本的 Nativescript,我根据文档创建了一个插件,并且在运行 tns plugin add ../nativescript-keychain 之后我收到消息 Successfully
NativeScript 中 DIV 的替代方法是什么? 如何使用内嵌内容的 block ? 最佳答案 在浏览器中,div 的行为由 display CSS 属性决定。 例如,默认为block和ver
目前有以下命令: tns cloud build android --accountId= 返回这一行:Invalid accountId index provided 您如何为您的帐户获得正确的 a
我是一名优秀的程序员,十分优秀!