0

0

apicloud可以用vue吗

藏色散人

藏色散人

发布时间:2021-02-02 09:36:48

|

2897人浏览过

|

来源于php中文网

原创

apicloud可以用vue,其使用方法:首先在apicloud页面中引入vue.min.js;然后在需要使用vue.js进行模板渲染的地方标记id;最后在apiready方法中根据标记了id的元素初始化vue实例即可。

apicloud可以用vue吗

本文操作环境:windows7系统、vue2.0版本、Dell G3电脑。

apicloud中可以用vue。

如何在 APICloud 中使用 Vue.js 进行高效开发?

APICloud官方推荐使用原生JS进行开发,但在复杂业务逻辑下,原生JS的开发效率往往不如MVVM框架高,所以使用Vue.js能够有效提高开发效率。

立即学习前端免费学习笔记(深入)”;

在尽量不影响应用性能和Hybrid中原生API的用户体验的前提下,并不推荐使用Vue.js的SPA开发模式,即不推荐使用vue-cli编译出使用vue-router、vuex、axois等模块的单页面应用。

直接用 script 引入vue.js的方式能最大限度的减少vue与apicloud项目的耦合度,不会与现有原生api和原生模块产生冲突。

一、基本使用

首先在apicloud页面中引入vue.min.js(本文引用时间2019年10月12日最新版为v2.6.10)。

然后在需要使用vue.js进行模板渲染的地方标记id,为了方便,通常在body下的最外层元素上标记。当然也可以在局部元素上进行vue渲染,与原生方法并不冲突。

最后在apicloud的初始化完成后,即apiready方法中根据标记了id的元素初始化vue实例。

示例代码:




  
  
  


  
{{ message }}

二、页面闪烁的处理

一般情况下,打开一个需要vue进行渲染的新页面,在其渲染过程中,会出现模板与模板渲染结果切换代码闪烁的效果,这是因为打开新页面apiready之后vue才开始渲染,渲染前默认显示的是渲染模板内容,渲染成功后显示结果。

这里可以在vue模板元素上标记v-cloak进行处理。

推荐:《vue教程

注意:这里需要在style中声明v-cloak的样式为隐藏,这样在渲染完成之前,标记了v-cloak的元素都不会显示出来。




  
  
  
  


  
{{ message }}

三、非vue渲染元素使用vue实例内容

使用vue进行模板渲染会有一个渲染时间,在某些对渲染性能和显示效果要求比较严格的页面下,主要内容区域由原生html实现,复杂逻辑运算用vue进行渲染。在vue渲染区域之外可能会需要用到vue实例中的某些属性或方法,这时可以在vue初始化时,将vue实例赋值给当前页面的全局变量。

本文使用vm作为vue实例名称,当然也可以改为其它的。将vm放在apiready之外,可以保证在没有初始化完成时直接调用相关方法不会报错。全局使用vm作为vue实例也可以避免在vue内部的一些回调方法需要var that = this;这样重新制定上下文。

以下几种情形可以使用vue全局实例vm:

vue渲染区之外需要调用vue实例内容时

使用原生方法时,如onclick

全诚商城生成HTML多用户版
全诚商城生成HTML多用户版

1、什么是店中店?店中店是全诚商多用户版的一大特色,它既是独立的个体,又具有群集功能。我们做个例子说明:假设尊贵的您现实生活中租赁了一个店面,店面空间很大,您可以把您的店面分割成很多独立空间再向别人转租,这样您可以额外获得一部分租赁费用收入,借以减少你的个人租赁费用投入,还能起到活跃销售场所的气氛,俗话说:货卖一堆吗。你租赁的店面可以完全分割成很多空间向外转租,也可以自己保留一块空间为自己销售商品

下载

在回调方法中需要调用vue实例内容时

示例:




  
  
  
  


  
{{ message }}

四、模块的引用

apicloud中的模块不建议放在vue实例中,而应当放在apiready之内,vue实例之外

示例:




  
  
  
  


  
{{ message }}
Button Two
Button Three

五、代码风格

当前手机的厂商众多,厂家版本定制碎片化严重,不同厂家对ECMA Script6语法的支持程度不一样,因此使用原生JavaScript的写法能够保证在任何一个安卓版本较低的手机上都能够正常运行。在某些设备中,也出现过安卓版本较低无法正常解析es6的问题。API Cloud官方没有推荐使用polyfill,所以尽量不要使用polyfill等工具,而是选择官方推荐的原生js写法,这样能够保证应用性能,同时也能确保当API Cloud框架后续有升级时,本地代码逻辑不至于有太大的改动。

函数的写法

编写函数时,注意不要使用es6的写法和出现箭头函数

ES6的写法(×):

foo(value) {
  console.log(value);
}
const fun = (value) => {
  alert(value);
}

原生JavaScript写法(√):

function foo(value) {
  console.log(value);
}
var fun = function(value) {
  alert(value);
}

变量和字符串

使用原生Java Script的关键字,注意不要出现es6的关键字。字符串拼接时也要使用原生JavaScript的加号连接。

ES6的写法(×):

let a;
const b = 'BAR';
if (xxx) {
  a = 1;
} else {
  a = 2;
}
console.log(`${b} ${a}`);

原生JavaScript写法(√):

var a = undefined;
var b = 'BAR';
if (xxx) {
  a = 1;
} else {
  a = 2;
}
console.log(a + b);

六、组件化应用

大多数使用vue.js的apicloud开发者往往忽略了在不使用vue-cli编译的情况下,同样能够进行组件化开发,以达到业务逻辑组件化、代码复用提高生产效率的目的。

注意:在apicloud中使用原生js开发vue组件时,避免使用v-model双向绑定组件的值。同样的,在其它数据量较大的展示型列表中也避免出现v-model双向绑定,否则会影响vue渲染效率导致App很卡。

实例:




  
  
  
  


  
{{ message }}

通过js文件将组件内容从html页面中分离,达到复用的效果。使用时,相当于给已有的Vue加上了一个全局组件。

由于原生js的字符串拼接较为麻烦,是否这样用取决于使用者自身。

本示例中使用到的css样式来自tailwindcss

searchBar.js:
/**
 * searchBar.js
 * @overview 搜索框组件
 */
if (Vue) {
  Vue.component('search-bar', {
    props: {
      value: String,
      placeholder: {
        type: String,
        default: '搜索'
      }
    },
    data: function() {
      return {
        model: undefined,
        disabled: false,
      };
    },
    mounted: function() {
      this.model = this.value;
    },
    methods: {
      handleInput: function(e) {
        this.model = e.target.value;
        this.$emit('change', this.model);
      },
      handleClear: function() {
        this.model = undefined;
        this.$emit('change', this.model);
        this.$emit('search', this.model);
      },
      handleSearch: function() {
        this.$emit('search', this.model);
      }
    },
    template:
      '
' + '
' + '
' + '' + '
' + '
查询
' + '
' }) }

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
vue.js为什么报错
vue.js为什么报错

vue.js报错的原因:1、语法错误;2、组件使用不当;3、数据绑定问题;4、生命周期钩子使用不当;5、插件或依赖问题;6、路由配置错误;7、异步操作处理不当等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

120

2024.03.11

vue.js插槽有哪些用
vue.js插槽有哪些用

vue.js插槽的作用:1、提高组件的可重用性;2、实现组件的灵活布局;3、实现组件间的数据传递和交互;4、促进组件的解耦和模块化。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

178

2024.03.11

vue.js怎么带参数跳转
vue.js怎么带参数跳转

vue.js带参数跳转的方法:1、定义路由;2、在组件中使用路由参数;3、进行带参数的跳转。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

92

2024.03.11

es6新特性
es6新特性

es6新特性有:1、块级作用域变量;2、箭头函数;3、模板字符串;4、解构赋值;5、默认参数;6、 扩展运算符;7、 类和继承;8、Promise。本专题为大家提供es6新特性的相关的文章、下载、课程内容,供大家免费下载体验。

106

2023.07.17

es6新特性有哪些
es6新特性有哪些

es6的新特性有:1、块级作用域;2、箭头函数;3、解构赋值;4、默认参数;5、扩展运算符;6、模板字符串;7、类和模块;8、迭代器和生成器;9、Promise对象;10、模块化导入和导出等等。本专题为大家提供es6新特性的相关的文章、下载、课程内容,供大家免费下载体验。

195

2023.08.04

JavaScript ES6新特性
JavaScript ES6新特性

ES6是JavaScript的根本性升级,引入let/const实现块级作用域、箭头函数解决this绑定问题、解构赋值与模板字符串简化数据处理、对象简写与模块化提升代码可读性与组织性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

222

2025.12.24

全局变量怎么定义
全局变量怎么定义

本专题整合了全局变量相关内容,阅读专题下面的文章了解更多详细内容。

82

2025.09.18

python 全局变量
python 全局变量

本专题整合了python中全局变量定义相关教程,阅读专题下面的文章了解更多详细内容。

96

2025.09.18

2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

32

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Vue 教程
Vue 教程

共42课时 | 7.4万人学习

Vue3.x 工具篇--十天技能课堂
Vue3.x 工具篇--十天技能课堂

共26课时 | 1.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号