由dcloud 公司开发的 多端融合框架;1次开发 多端运行;技术架构:Vue语法+小程序的api
| HTML+ |
| nvue(原生view) |
| native.js(js原生沟通的桥梁) |
| weex |
| 内置ios/安卓的模块使用 |



H5


小程序






夜神模拟器端口号:62001
海马模拟器端口号:26944
逍遥模拟器端口号:21503
MuMu模拟器端口号:7555
天天模拟器端口号:6555



注意项:
hbuilder可能需要下载对应的插件;运行到安卓模拟器,有视图差别;运行可以需要一定的诗句
模板语法:
文本渲染:
v-text=“表达式”
表达式
| 简单的js运算:{{2+3}} |
| js方法调用 {{title.length}} {{title.split("").reverse().join("")}} |
| 3元运算符 <view>{{title.length>15?'长度很长':'字少事大'}}</view> |
v-html 富文本
| v-if | v-else-if | |
| v-else | v-show | |
| 通过三元运算符 | ||
列表选项

属性绑定
<button v-bind:disabled=“true”>
<button :disabled="true">
表单绑定
| 默认 :value="单向绑定" |
| input v-model=“双向绑定” |
| @change=“$event.detail.value” 事件,事件的值$event.detail.value |
事件
@click=“doit(str)”
doit(str="你好"){
uni.showModal({title:str})
}
事件对象:$event/e
<view :data-title="title" @click="say">
function say(e){
e.target.dataset.title
}
| 数据:data | 方法:methods |
| 计算:computed | 监听:watch |
| 指令:directive | 过滤:filter |
Vue的生命周期
小程序的生命周期
小程序的全局方法
| 下拉刷新:onPullDownRefresh |
| 触底更新:onReachBottom() |
| 右上角分享:onShareAppMessage |
| 页面滚动:onPageScroll |
| 分享到朋友圈:onShareTimeline |
app的全局方法
| 手机的返回键被点击:onBackPress |
| 导航栏按钮被点击:onNavigationBarButtonTap |
| primary主要 | warn警告 |
| default 默认 | |
| value值 |
| v-model对表单双向绑定 |
| @change="$event.detail.value" |
| placeholder 提示文本 |
| value 值 | max 最大 |
| min 最小 |
路由组件
| navigate跳转 | redirect重定向 (当前页面不留历史记录) |
| navigateBack返回 | relauch 重启 |
| switchTab 跳转底部栏 | |
路由传参
url:path?name=mumu&age=18 onLoad(option){}
option的值{name:"xiaxi",age:23} 路由api
| 跳转:uni.navigateTo({url}) |
| 重定向uni.redirectTo({url}) |
| 返回:uni.navigateBack() |
| 底部栏切换:uni.switchTab() |
| 重启:uni.reLaunch() |
路由配置
配置底部导航栏:tabBar
在 pages.json 中,配置 tabBar
注意:pages 的第一个 path 必须与 tabBar 的第一个 pagePath 相同否则不显示底部导航
"tabBar": {
"color": "#7A7E83", // tab 上的文字默认颜色
"selectedColor": "#3cc51f", // tab 上的文字选中时的颜色
"borderStyle": "black", // tabbar 上边框的颜色,可选值 black/white
"backgroundColor": "#ffffff", // tab 的背景色
"list": [{ // 最少2个、最多5个 tab
"pagePath": "pages/index/index", // 页面路径,必须在 pages 中先定义
"iconPath": "static/tabbar/home.png", // 图片路径,icon 大小限制为40kb,建议尺寸为 81px * 81px
"selectedIconPath": "static/tabbar/home-active.png", // 选中时的图片路径
"text": "首页" // tab 上按钮文字
}, {
"pagePath": "pages/my/my",
"iconPath": "static/tabbar/my.png",
"selectedIconPath": "static/tabbar/my-active.png",
"text": "生命"
}]
}
获取当前页面:getApp
var app = getApp() onShow(){
this.num = app.globalData.num
} addNum(){
app.globalData.num++;
this.num = app.globalData.num
}

获取页面栈
条件编译目的:不同的平台展示不同特性与功能
| APP--App端 |
| H5--网页 |
| MP--小程序或MP-WEIXIN--微信小程序 |
<template>
<view>
<view>条件</view>
<!-- #ifdef H5 -->
<view>H5:下载APP获取优惠卷</view>
<!-- #endif -->
<!-- #ifdef MP -->
<view>WX:小程序用户获取优惠卷</view>
<!-- #endif -->
<!-- #ifdef APP -->
<view>app:优惠卷0.5元</view>
<!-- #endif -->
</view>
</template> <template>
<view class="active">我是一行文字</view>
</template>
<style>
/* #ifdef APP-PLUS */
.active{color: red}
/* #endif */
/* #ifdef H5 */
.active{color: lightblue}
/* #endif */
/* #ifdef MP */
.active{color: dodgerblue}
/* #endif */
</style>
<template>
<view>
<button size="mini" @click="say()">你好</button>
</view>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
say(){
// #ifdef APP-PLUS
uni.showModal({
title:"你好App用户"
})
// #endif
// #ifdef MP
uni.showModal({
title:"你好微信用户"
})
// #endif
// #ifdef H5
uni.showModal({
title:"你好手机用户"
})
// #endif
}
}
}
</script>

在vue页面
<template>
<view>
<!-- #ifdef MP-WEIXIN || APP -->
<navigator url="/pages/condition/we">微信-App专有 </navigator>
<!-- #endif -->
</view>
</template>
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
当我在我的Rails应用程序根目录中运行rakedoc:app时,API文档是使用/doc/README_FOR_APP作为主页生成的。我想向该文件添加.rdoc扩展名,以便它在GitHub上正确呈现。更好的是,我想将它移动到应用程序根目录(/README.rdoc)。有没有办法通过修改包含的rake/rdoctask任务在我的Rakefile中执行此操作?是否有某个地方可以查找可以修改的主页文件的名称?还是我必须编写一个新的Rake任务?额外的问题:Rails应用程序的两个单独文件/README和/doc/README_FOR_APP背后的逻辑是什么?为什么不只有一个?
我正在使用Postgres.app在OSX(10.8.3)上。我已经修改了我的PATH,以便应用程序的bin文件夹位于所有其他文件夹之前。Rammy:~phrogz$whichpg_config/Applications/Postgres.app/Contents/MacOS/bin/pg_config我已经安装了rvm并且可以毫无错误地安装pggem,但是当我需要它时我得到一个错误:Rammy:~phrogz$gem-v1.8.25Rammy:~phrogz$geminstallpgFetching:pg-0.15.1.gem(100%)Buildingnativeextension
我的测试尝试访问网页并验证页面上是否存在某些元素。例如,它访问http://foo.com/homepage.html并检查Logo图像,然后访问http://bar.com/store/blah.html并检查页面上是否出现了某些文本。我的目标是访问经过Kerberos身份验证的网页。我发现Kerberos代码如下:主文件uri=URI.parse(Capybara.app_host)kerberos=Kerberos.new(uri.host)@kerberos_token=kerberos.encoded_tokenkerberos.rb文件classKerberosdefini
我想在Rails中使用插件系统创建一个应用程序。潜在用户应该能够上传(或更好地从存储库安装)一个插件并安装它,使我的应用程序能够做更多的事情。这应该在没有FTP/SSH/对服务器的任何低级别访问的情况下完成。关于如何在Rails3中完成它,是否有任何好的gems或教程? 最佳答案 你看过http://edgeguides.rubyonrails.org/plugins.html了吗??它似乎不是100%兼容Rails3,但它可以帮助您入门。我看过的大多数插件文章都涉及Rails2。 关于
我有一个成功运行多个进程的Procfile设置:#/Procfileredis:bundleexecredis-serversidekiq:bundleexecsidekiq-v-C./config.ymlforward:forward4567mock-api我需要再添加一个进程-一个位于我机器上不同目录中的Sinatra应用程序。如果我cd到该目录,我可以从终端启动它:$rackup-p4567我可以使用终端从不同的目录启动它:$sh-c'cd/Path/to/project/&&execrackup-p4567'但是我应该如何使用工头来做到这一点。我尝试添加以下内容,但它无声地失败
我使用命令rakedoc:app为我的Rails应用程序生成一些基本文档。它在过去一直运行良好。昨天我通过应用程序从Ruby1.9.3升级到2.1.1,从Rails3.2升级到4.1。该应用程序一切正常,所以几周后我第一次重新生成文档,但失败了。我运行上面的命令并收到以下错误消息:rakeaborted!Don'tknowhowtobuildtask'README.rdoc'/home/vagrant/.rvm/gems/ruby-2.1.1/bin/ruby_executable_hooks:15:in`eval'/home/vagrant/.rvm/gems/ruby-2.1.1/
我正在按照这个railscast教程在我的rails项目上为facebook身份验证设置omniauth:http://railscasts.com/episodes/360-facebook-authentication?autoplay=true.我只用了4分钟,到目前为止我所做的就是捆绑gemomniauth-facebook并添加,omniauth.rbOmniAuth.config.logger=Rails.loggerRails.application.config.middleware.useOmniAuth::Builderdoprovider:facebook,ENV
每次我跑:gitpushherokumaster我收到以下错误:Running:rakeassets:precompilerakeaborted!Can'tconnecttoMySQLserveron'127.0.0.1'我在运行rails-vRails3.2.11和ruby-vruby1.9.3p194(2012-04-20revision35410)[x86_64-darwin12.2.0]我已经通过HerokuCLI安装了ClearDB,它似乎工作正常,但我无法找出这个错误。这是我用于生产的yml:production:adapter:mysql2encoding:utf8hos
我专门将OSXTerminal.app用于命令行,但这个问题也可能适用于其他命令行工具。假设我想从命令行运行这段ruby代码:Cats.eachdo|cat|cat.name='Mommy'cat.kittenseachdo|kitten|kitten.color="Brown"endend现在,如果我复制/粘贴它,它就会被分解并且不会执行。 最佳答案 ruby-e"Cats.eachdo|cat|cat.name='Mommy'cat.kittenseachdo|kitten|kitten.color='Brown'enden