如何在 NativeScript Vue 中使用类似 SVG 的内容加载器?
How to use SVG like content loader in NativeScript Vue?
我使用 NativeScript Vue 并想在我的组件中显示加载动画,例如 https://github.com/egoist/vue-content-loader。
不幸的是,vue-content-loader 包不适用于 NativeScript,因为它使用视图中不支持的 SVG 元素。
<template>
<content-loader
:height="160"
:width="400"
:speed="2"
primaryColor="#f3f3f3"
secondaryColor="#ecebeb"
>
<rect x="70" y="15" rx="4" ry="4" width="117" height="6.4" />
<rect x="70" y="35" rx="3" ry="3" width="85" height="6.4" />
<rect x="0" y="80" rx="3" ry="3" width="350" height="6.4" />
<rect x="0" y="100" rx="3" ry="3" width="380" height="6.4" />
<rect x="0" y="120" rx="3" ry="3" width="201" height="6.4" />
<circle cx="30" cy="30" r="30" />
</content-loader>
</template>
<script>
import { ContentLoader } from "vue-content-loader"
export default {
components: {
ContentLoader
}
}
</script>
[Vue warn]: Unknown custom element: <svg> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
found in
---> <Home>
<Page>
<App> at components/App.vue
有没有 vue-content-loader 的替代品来获得类似的动画?或者有没有办法 运行 NativeScript Vue 中的 vue-content-loader 包?
了解架构(NativeScript !== Cordova / PhoneGap):
Cordova / PhoneGap 在 WebView 中托管您的网络应用程序,您所有的 UI 组件都是相同的 HTML DOM 元素。
NativeScript 允许您重用您的 Web 开发技能 (JavaScript / XML / CSS) 来构建本机移动应用程序。所有 UI 组件都与原生组件相同,就好像您正在使用 Objective C / Java 构建应用程序一样。
Java脚本运行时允许您执行任何独立于浏览器的代码 (CommonJS)。您将无法访问依赖于浏览器的对象,例如 HTML DOM / Canvas / SVG / Document / Window 等,因此您不能使用 vue-content-loader 在严重依赖 SVG 的 NativeScript 中。
您要查找的内容:
我相信您正在寻找骨架视图,不幸的是没有现成的插件可用。但是你可以写一个/简单地在你的项目中使用相关的本地库。
请参阅 plugin docs 了解更多信息。
还有一个 blog post 解释了如何使用 Angular 在 NativeScript 中执行此操作,您可以将其翻译成 Vue。
我使用 NativeScript Vue 并想在我的组件中显示加载动画,例如 https://github.com/egoist/vue-content-loader。
不幸的是,vue-content-loader 包不适用于 NativeScript,因为它使用视图中不支持的 SVG 元素。
<template>
<content-loader
:height="160"
:width="400"
:speed="2"
primaryColor="#f3f3f3"
secondaryColor="#ecebeb"
>
<rect x="70" y="15" rx="4" ry="4" width="117" height="6.4" />
<rect x="70" y="35" rx="3" ry="3" width="85" height="6.4" />
<rect x="0" y="80" rx="3" ry="3" width="350" height="6.4" />
<rect x="0" y="100" rx="3" ry="3" width="380" height="6.4" />
<rect x="0" y="120" rx="3" ry="3" width="201" height="6.4" />
<circle cx="30" cy="30" r="30" />
</content-loader>
</template>
<script>
import { ContentLoader } from "vue-content-loader"
export default {
components: {
ContentLoader
}
}
</script>
[Vue warn]: Unknown custom element: <svg> - did you register the component correctly? For recursive components, make sure to provide the "name" option.
found in
---> <Home>
<Page>
<App> at components/App.vue
有没有 vue-content-loader 的替代品来获得类似的动画?或者有没有办法 运行 NativeScript Vue 中的 vue-content-loader 包?
了解架构(NativeScript !== Cordova / PhoneGap):
Cordova / PhoneGap 在 WebView 中托管您的网络应用程序,您所有的 UI 组件都是相同的 HTML DOM 元素。
NativeScript 允许您重用您的 Web 开发技能 (JavaScript / XML / CSS) 来构建本机移动应用程序。所有 UI 组件都与原生组件相同,就好像您正在使用 Objective C / Java 构建应用程序一样。
Java脚本运行时允许您执行任何独立于浏览器的代码 (CommonJS)。您将无法访问依赖于浏览器的对象,例如 HTML DOM / Canvas / SVG / Document / Window 等,因此您不能使用 vue-content-loader 在严重依赖 SVG 的 NativeScript 中。
您要查找的内容:
我相信您正在寻找骨架视图,不幸的是没有现成的插件可用。但是你可以写一个/简单地在你的项目中使用相关的本地库。
请参阅 plugin docs 了解更多信息。
还有一个 blog post 解释了如何使用 Angular 在 NativeScript 中执行此操作,您可以将其翻译成 Vue。