小编yoy*_*oma的帖子

vuejs路由器中的可选参数

我需要以两种方式路由到某个组件 - 一个带有参数,一个没有.我搜索了可选参数并且不知何故找不到多少信息.

所以我的路线:

{
    path: '/offers/:member',
    component: Offers,
    name: 'offers',
    props: true,
    meta: {
        guest: false,
        needsAuth: true
    }
},
Run Code Online (Sandbox Code Playgroud)

当我以编程方式用param调用它时,一切都很好

this.$router.push({ path: /offers/1234 });
Run Code Online (Sandbox Code Playgroud)

但是我也需要通过这样的导航来调用它

<router-link to="/offers">Offers</router-link>
Run Code Online (Sandbox Code Playgroud)

offers组件接受道具

props: ['member'],
Run Code Online (Sandbox Code Playgroud)

和组件一样使用

<Offers :offers="data" :member="member"></Offers>
Run Code Online (Sandbox Code Playgroud)

现在,我设法让它工作的丑陋方式是重复路线,并使其中一个不采取道具:

{
    path: '/offers',
    component: Offers,
    name: 'offers',
    props: false,
    meta: {
        guest: false,
        needsAuth: true
    }
},
Run Code Online (Sandbox Code Playgroud)

它确实有效,但我对它不满意 - 在开发模式下,vuejs警告我 [vue-router] Duplicate named routes definition: { name: "offers", path: "/offers" }

当然有一种方法可以在组件调用中执行可选参数:member="member"吗?

vue.js

72
推荐指数
2
解决办法
2万
查看次数

Android Studio插件太旧了

当我尝试在Android Studio的设备上运行测试时,我开始收到错误:

Error:(1, 0) Plugin is too old, please update to a more recent version, or set ANDROID_DAILY_OVERRIDE environment variable ...
Run Code Online (Sandbox Code Playgroud)

我环顾四周,从gradle网站上发现最新版本是2.10,我尝试将其添加到我的依赖项中,没有运气.我尝试了各种版本号,其中包含以下各种错误:

Could not find com.android.tools.build:gradle:2.1
Searched in the following locations ...
Run Code Online (Sandbox Code Playgroud)

我从所有的搜索中了解到它显然是一个错误版本的gradle - 但是我应该使用的当前版本标签是什么,我怎么知道它安装在我的机器上?我一直在更新Android Studio.

所以我目前在build.gradle中:

    dependencies {
    classpath 'com.android.tools.build:gradle:2.0.0-alpha1'
}
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio android-gradle-plugin gradle-plugin

17
推荐指数
3
解决办法
2万
查看次数

vue-chartjs反应数据错误

我正在尝试使用反应数据mixin for vue-chartjs

用于设置初始数据的挂载函数正常工作,我可以使用API​​响应正确查看图表:

fetchSessionTrends() {
    axios.get(endpoint)
    .then(({data}) => {
        this.sessions = data.map(session => session.sessions);
        this.sessionLabels = data.map(label => label.date);
        this.loaded = true;
    });
},
Run Code Online (Sandbox Code Playgroud)

数据:

data() {
    return {
       endpoint: 'public/api/sessions',
       sessions: [],
       sessionLabels: [],
       loaded: false,
       daysFilter: 14
    };
},
Run Code Online (Sandbox Code Playgroud)

我显示带有文本字段的图表以提供反应部分 - 期望是它再次调用端点并接收新响应

<div class="col-md-2 session-filter">
    <div class="input-group">
    <input type="text" class="form-control" placeholder="days..." v-model="daysFilter">
    <span class="input-group-btn">
      <button class="btn btn-secondary" type="button" @click="refreshSessions">Go</button>
    </span>
    </div>
</div>
<line-chart v-if="loaded" :chart-data="sessions" :chart-labels="sessionLabels"></line-chart>
Run Code Online (Sandbox Code Playgroud)

然而,要测试反应部分,现在我只是直接更改数据数组以查看它是如何工作的:

refreshSessions() {          
   this.sessions = [1, 2, 3];
   this.sessionlabels = ["june", …
Run Code Online (Sandbox Code Playgroud)

vue.js chart.js vue-chartjs

7
推荐指数
1
解决办法
1704
查看次数

如何并排布局yii2表单字段

我想将表格字段并排放置在Yii2中,采用2x2网格.

我正在使用bootstrap/ActiveForm

    <?php $form = ActiveForm::begin([
    'layout' => 'horizontal',
    'action' => ['index'],
    'method' => 'get',
    'fieldConfig' => [
        'horizontalCssClasses' => [
            'label' => 'col-sm-2',
            'offset' => 'col-sm-offset-2',
            'wrapper' => 'col-sm-4',
        ],
    ],
]); ?>
Run Code Online (Sandbox Code Playgroud)

这些字段基本上是一系列日期小部件

<?= $form->field($model, 'saleFrom')->widget(DatePicker::className(), [
    'options' => ['placeholder' => 'TO'],
    'pluginOptions' => [
        'autoclose' => true,
        'format' => 'yyyy-mm-dd'
    ]
]); ?>
Run Code Online (Sandbox Code Playgroud)

然而,所有设法做的就是将所有四个字段对齐div的左边 - 我无法从文档中找出如何使用Yii2选项来执行此操作而无需手动添加自定义css.

yii yii2

6
推荐指数
1
解决办法
8893
查看次数

将Yii2应用程序部署到共享主机步骤

我觉得奇怪的是,关于将Yii2应用程序部署到共享主机服务器的注意事项很少(如果有的话)的细节。

有人对此有一些步骤,技巧和注意事项吗?

您是否遵循某个流程将问题/错误降低到最低限度?

数据库如何迁移(随数据一起迁移)?我假设我可以导出/导入数据库,直接复制Yii应用程序文件夹,但这似乎太简单了吗?

yii2 yii2-advanced-app

5
推荐指数
1
解决办法
9742
查看次数

Chart.js 工具提示背景颜色设置

我正在尝试更改工具提示的背景颜色,但似乎只能更改键:https://jsfiddle.net/1ez0Lo8a/ 指的是当您将鼠标悬停在栏上时工具提示的黑色背景。

tooltips: {
                yAlign: 'bottom',
                callbacks: {
                    labelColor: function(tooltipItem, chart) {
                        return {
                            backgroundColor: 'rgb(255, 0, 0)'
                        }
                    },
                }
Run Code Online (Sandbox Code Playgroud)

此外,正如您所看到的,我已经设法删除了该轴 - 但这些设置都没有删除最底部的水平轴。任何人都可以建议如何删除那个吗?

chart.js

5
推荐指数
1
解决办法
2万
查看次数

Yii2 添加一个不在模型中的表单字段

据我们所知,

<?= $form->field($model, 'name_field')->textInput() ?>
Run Code Online (Sandbox Code Playgroud)

在模型/表中添加连接到“name_field”的文本字段。

我想在模型/表中添加一个字段,然后在失去焦点时运行一些 JS 来计算其他字段。

您如何首先添加未连接到模型的自由文本字段?其次,有没有人有将 JS/Jquery 添加到 _form.php 的例子?

yii2 yii2-advanced-app

4
推荐指数
1
解决办法
6803
查看次数

Laradock不能与mysql一起使用

我无法理解如何让Laradock与mysql db一起正常工作.

我已经关注了laradock docs并安装了所有东西,使用了旋转容器

docker-compose up -d nginx mysql
Run Code Online (Sandbox Code Playgroud)

我有这样的多项目版本布局

project
    +laradock-spa
Run Code Online (Sandbox Code Playgroud)

php端似乎工作,我可以得到laravel欢迎页面,但是连接数据库导致我的问题.

首先,我应该在哪里运行php artisan命令php artisan migrate?是应该从我的机器在项目文件夹中运行,还是从docker容器中运行?

当我从我的项目文件夹运行它时,它可以工作,我可以进入mysql容器并查看初始数据库表,比如migration,和user.

但是,我无法获得初始POST到db在Postman中工作 - 我收到错误 SQLSTATE[HY000] [2002] No such file or directory (SQL: insert into users (...

所以我想也许我应该从工作区容器中运行migrate命令,所以我打入工作区,但从这里php artisan migrate命令错误[Illuminate\Database\QueryException] SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schem a.tables where table_schema = spa and table_name = migrations)

正如我所说的,我可以成功进入mysql容器,使用root密码登录数据库,运行第一次迁移后,我可以看到里面的表.

docker ps 显示所有容器.

有人可以解释它是如何工作的以及如何解决这个问题?我不确定我应该在哪里运行哪些命令,以及容器如何相互通信.但基本上,我怎样才能让mysql数据库在laravel项目中工作?

顺便说一下,我也在PC上运行本地mysql,也许这会导致一些冲突/混乱?

我正在Win10上运行这一切.

laravel docker docker-compose laradock

3
推荐指数
1
解决办法
2764
查看次数

为什么 Carbon addMinutes 的加法效果不好

在 Laravel 环境中,我有一组时间,我添加了几分钟,但它没有给我我所期望的结果。

在下面的array_map函数中发生了一些奇怪的addMinutes事情

$d = array_map(function ($date) {
    $base = Carbon::parse($date['time']);
    return [
        'start' => $base->addMinutes(150)->toDateTimeString(),
        'end' => $base->addMinutes(190)->toDateTimeString()
    ]
}, $dates);
Run Code Online (Sandbox Code Playgroud)

所以 150 分钟是 2 小时 30 分钟,190 分钟是 3 小时 10 分钟,所以我假设以下

2018-07-05 19.20.00 (+150 mins) -> start = 2018-07-05 21.50
                    (+190 mins) -> end   = 2018-07-05 22.30
Run Code Online (Sandbox Code Playgroud)

我实际上得到了

2018-07-05 19.20.00 (+150 mins) -> start = 2018-07-05 21.30
                    (+190 mins) -> end   = 2018-07-06 00.40
Run Code Online (Sandbox Code Playgroud)

任何人都可以看到我在碳处理过程中遗漏的明显内容吗?我很确定这与 Carbon 有关,因为我将上面的内容重组array_map为 aforeach并得到了相同的结果 …

php arrays array-map php-carbon

3
推荐指数
1
解决办法
4481
查看次数

laravel播种器数组到字符串转换

我有这样的模型工厂

$factory->define(App\Sale::class, function (Faker\Generator $faker) {
return [
    'unit' => $faker->randomDigit,
    'street_no' => $faker->randomDigit,
    'street_name' => $faker->streetName,
    'street_type' => $faker->streetSuffix,
    'suburb' => $faker->randomElements(['Melton South','Melton West','Rye']),
    'postcode' => $faker->numberBetween($min=1000, $max=4000),
    'sale_date' => $faker->dateTimeThisYear,
];
});
Run Code Online (Sandbox Code Playgroud)

数据播种机运行它

factory(App\Sale::class, 5)->create();
Run Code Online (Sandbox Code Playgroud)

问题是,当我运行它时,php artisan db:seed我收到了错误

  [Illuminate\Database\QueryException]
  Array to string conversion (SQL: insert into `sales` (`unit`, `street_no`,
  `street_name`, `street_type`, `suburb`, `postcode`, `sale_date`, 
`updated_at`, `created_at`) 
values (7, 1, Labadie Centers, Bridge, Rye, 3758, 2016-08-12 1
  5:02:07, 2017-05-23 13:16:56, 2017-05-23 13:16:56))
Run Code Online (Sandbox Code Playgroud)

错误sql没有显示我能看到的任何数组.

当我将该sql粘贴到我的数据库应用程序并运行它时,为了使其工作,我必须引用所有字符串,但laravel docs在使用faker时不说任何关于它的内容?我在模型工厂中遗漏了什么吗?

EXI

laravel

2
推荐指数
1
解决办法
2595
查看次数

节点请求写入文件损坏

我在节点中有一个成功从API接收数据的get请求.

当我将响应直接传递给这样的文件时,它可以正常工作,创建的文件是一个有效的,可读的pdf(正如我希望从API接收的那样).

var http = require('request');
var fs = require('fs');

http.get(
{
  url:'',
  headers:{}
})
.pipe(fs.createWriteStream('./report.pdf'));
Run Code Online (Sandbox Code Playgroud)

很简单,但是如果我像这样使用请求的事件发射器,则文件会被破坏

  http.get(
{
  url:'',
  headers:{}
})
.on('error', function (err) {
  console.log(err);
})
.on('data', function(data) {
  file += data;
})
.on('end', function() {
    var stream = fs.createWriteStream('./report.pdf');
    stream.write(file, function() {
      stream.end();
    });
});
Run Code Online (Sandbox Code Playgroud)

我已经尝试过编写这个文件的所有方式,它总是以一个完全空白的pdf结尾 - pdf有效的唯一时间是通过管道方法.

当我控制台记录事件时,序列似乎是正确的 - 即,所有块接收,然后是最后的end火.

在管道之后,它无法做任何事情.什么是管道对写入流的不同做法?

node.js

0
推荐指数
1
解决办法
1287
查看次数