小编Léo*_*oco的帖子

Vue Chart.js - 数据更改时图表不会更新

我正在使用Vue.js和Chart.js绘制一些图表.每次调用该函数时generateChart(),图表都不会自动更新.当我检查数据时generateChart(),它们是正确的,但图表并不代表那些.

有趣的事实:当我调整窗口大小时,图表正在更新.

  • 我正在做什么有什么问题?
  • 每次打电话时如何更新图表object

我觉得这将是一些与相关的arraygenerateChart()变化的检测警告,但我不知道该怎么做.

https://codepen.io/anon/pen/bWRVKB?editors=1010

<el-dialog title="Chart" v-model="showGeneratedChart">
     <line-chart :chartData="dataChart"></line-chart>
</el-dialog>

 export default{
    data (){
        const self = this;
        return {
         dataChart : {
                labels : [],
                datasets: [{
                        label: 'label',
                        backgroundColor: '#FC2525',
                        data: [0, 1, 2, 3, 4],
                    }]
        }
    }
}


 generateChart() { 
     this.dataChart['labels'] = [];
     this.dataChart['datasets'] = [];

     ... compute datasets and formattedLabels

     this.dataChart['labels'] = formattedLabels;
     this.dataChart['datasets'] = datasets;
 }
Run Code Online (Sandbox Code Playgroud)

LineChart.js

import { Line, mixins } …
Run Code Online (Sandbox Code Playgroud)

javascript charts vue.js vue-chartjs

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

过滤任何属性包含值的对象数组

我想知道什么是最干净的方法,根据a过滤对象数组的更好方法string keyword.必须在对象的任何属性中进行搜索.

当我输入时,lea我想通过所有对象及其所有属性来返回包含的对象lea

当我输入时,italy我想通过所有对象及其所有属性来返回包含的对象italy.

我知道tere有很多解决方案,但到目前为止我只看到了一些你需要指定你想要匹配的属性.

ES6lodash欢迎!

  const arrayOfObject = [{
      name: 'Paul',
      country: 'Canada',
    }, {
      name: 'Lea',
      country: 'Italy',
    }, {
      name: 'John',
      country: 'Italy',
    }, ];

    filterByValue(arrayOfObject, 'lea')   // => [{name: 'Lea',country: 'Italy'}]
    filterByValue(arrayOfObject, 'ita')   // => [{name: 'Lea',country: 'Italy'}, {name: 'John',country: 'Italy'}]
Run Code Online (Sandbox Code Playgroud)

javascript arrays lodash

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

CRON JOB - LARAVEL - OUTPUT

嗨,我正和Laravel一起经营CRON JOB

Laravel中的函数声明

protected function schedule(Schedule $schedule)
{
    echo "test CRON JOB\n";
    $file1 = '1.log';
    $file2 = '2.log';
    $schedule->command('command1')->sendOutputTo($file1);
    $schedule->command('command2')->sendOutputTo($file2);

}
Run Code Online (Sandbox Code Playgroud)

CRON JOB - 设定

pathToArtisan schedule:run 2>&1 >> /home/log/cron_output.log
Run Code Online (Sandbox Code Playgroud)

日志文件输出(cron_output.log)

test CRON JOB
Running scheduled command: '/opt/alt/php55/usr/bin/php' 'artisan'command1 > '1.log' 2>&1 &
Running scheduled command: '/opt/alt/php55/usr/bin/php' 'artisan' command2 > '2.log' 2>&1 &
Run Code Online (Sandbox Code Playgroud)

显示功能计划中的回显,但命令1和命令2中的回显不是.

我试过了

echo "test"; $this->info('test');
Run Code Online (Sandbox Code Playgroud)

没有文件1.log或2.log既不创建/ home/log /,也不创建Kernel.php文件或Command文件夹

有任何想法吗 ?

谢谢

cron laravel

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

停止在不使用 Typescript 的 vue 组件上应用 typescript-eslint/explicit-module-boundary-types

我正在使用vue,我刚刚更新了@typescript-eslint/eslint-plugin": "^3.10.1". 我的项目包含几个组件。其中一些正在使用,javascript而另一些正在使用typescript

警告

我对 typescript组件内部的方法有这个警告

警告:缺少函数的返回类型(@typescript-eslint/explicit-module-boundary-types)

我怎么能不在.vue没有使用的文件上应用这个规则<script lang="ts">

typescript vue.js typescript-eslint

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

Laravel属于关系 - 试图获得非对象的属性

user.php的

class User extends Authenticatable
{
    public function company() {
        return $this->belongsTo('App\Company');
    }
}
Run Code Online (Sandbox Code Playgroud)

Company.php

class Company extends Model
{
    public function users() {
        return $this->hasMany('App\User');
    }
}
Run Code Online (Sandbox Code Playgroud)

表用户

id name companies_id

表公司

id名称

我正在尝试将公司的名称附加到用户身上.

$user = User::findOrFail(Auth::user()->id);
$companyName = $user->company()->first()->name;
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息 Trying to get property of non-object

我没有得到我所缺少的东西......提前谢谢你

php laravel eloquent laravel-5 laravel-eloquent

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

强制版本的传递依赖(依赖的依赖)与yarn

"csv-file-validator": "^1.8.0"我正在使用带有 3 个依赖项的包

 famulus "2.1.2"
 lodash "4.17.15"
 papaparse "^5.2.0"
Run Code Online (Sandbox Code Playgroud)

我想更新/强制lodash使用 to be的版本4.17.20。我发现了选择性依赖解析并在我的package.json

"resolutions": {
  "csv-file-validator/lodash": "^4.17.20"
}
Run Code Online (Sandbox Code Playgroud)

我删除了yarn.lock,node_modules文件夹并yarn install再次运行。然而lodash版本仍然是4.17.15

csv-file-validator@^1.8.0:
version "1.8.0"
resolved "https://pkgs.dev.azure.com/RCTechnologies/EMA/_packaging/EMA/npm/registry/csv-file-validator/-/csv-file-validator-1.8.0.tgz#f8b879f533ce8c84b115d0ed2eca8e691249ec22"
integrity sha1-+Lh59TPOjISxFdDtLsqOaRJJ7CI=
dependencies:
  famulus "2.1.2"
  lodash "4.17.15"
  papaparse "^5.2.0"
Run Code Online (Sandbox Code Playgroud)

有可能实现这一目标吗?如果是的话,我错过了什么吗?

transitive-dependency yarnpkg yarn-lock.json

8
推荐指数
1
解决办法
1634
查看次数

VueJs - 表格分页和过滤

我正在使用Vue2.jsElement UI作为框架.我希望能够过滤切片的表格.要做到这一点,我用的是tablefilter组件,其文档可以找到这里.

情况好的

表没有切片.当您选择一个过滤器时,循环遍历每一行并检查该列的值是否等于过滤器.

情况不行

桌子被切成薄片.当您选择过滤器时,循环将通过切片结果的每一行,并检查列的值是否等于过滤器.通过这样做,我们不会过滤"隐藏"值.

我做了一点https://jsfiddle.net/acm3q6q8/3/,所以更容易理解.

所有这一切都有意义,因为我不是在处理整个数据,而是在切片版本上.

一种解决方案可能是隐藏行而不是通过切片数据来排除它们,但我想知道是否有更好的解决方案?

我想要实现的目标

  • jsfiddle,只显示2项.
  • 过滤tag以仅显示标记为的行Office

实际结果

由于tag办公室不是切片表的一部分,因此没有显示行.

预期结果

过滤时,我想考虑不一定要显示的行.

重要

这应该适用于多个过滤器(即我选择几个标签)

编辑

在相同的范围内,如果您想按字母顺序对名称进行排序,如果您只显示2个项目,则不会显示Albert.

javascript vue.js vuejs2

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

Linux 代理上的 AzureFileCopy@3 等效项

我正在windowAzure Pipeline 中使用基于代理。其中一项任务是将项目复制到 Azure Blob 存储。

- task: AzureFileCopy@3
  displayName: 'Upload to Azure'
  inputs:
     sourcePath: '$(Pipeline.Workspace)/dist'
     azureSubscription: 'My Subscription'
     destination: 'AzureBlob'
     storage: $(featureStorageName)
     containerName: '$web'
Run Code Online (Sandbox Code Playgroud)

微软建议az storage blob使用task: AzureCLI@2

此任务是用 PowerShell 编写的,因此仅在 Windows 代理上运行时才有效。如果管道需要 Linux 代理并且需要将文件复制到 Azure 存储帐户,请考虑在 Azure CLI 任务中运行 az storage blob 命令作为替代方案。

问题

我可以在Linux代理上运行的等效命令是什么?

我认为骨架会这样开始:

task: AzureCLI@2
inputs:
    azureSubscription: 'My Subscription'
    scriptType: 'pscore'
    scriptLocation: 'inlineScript'
    inlineScript: |
    az ...
Run Code Online (Sandbox Code Playgroud)

azure-pipelines

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

Vue.js 2.3 - 元素UI对话框 - 同步和道具

我正在使用vue-js 2.3element-ui.由于更新2.3vue-js和重新引入sync,事情发生了变化,我有一个很难搞清楚我的问题.

这是jsfiddle:https://jsfiddle.net/7o5z7dc1/

问题

dialog只开一次.当我关闭它时,我有这个错误:

避免直接改变道具,因为只要父组件重新渲染,该值就会被覆盖.而是根据prop的值使用数据或计算属性.Prop变异:"showDialog"

问题

我究竟做错了什么?

我该如何解决目前的情况?

编辑

如果我正在创建一个data我设法删除错误消息但dialog不再关闭

<div id="app">
      <left-panel v-on:show="showDialog = true">></left-panel>
      <popup v-if="showDialog":show-dialog.sync="showDialog"></popup>
    </div>

    <template id="left-panel-template">
      <button @click="$emit('show')">Show Component PopUp</button>
    </template>


    <template id="popup">
        <el-dialog :visible.sync="showDialog" @visiblechange="updateShowDialog">I am the popup</el-dialog>
    </template>


        Vue.component('left-panel', {
      template: '#left-panel-template',
      methods: {
      },
    });

    Vue.component('popup', {
      template: '#popup',
      props : ['showDialog'],
      methods: {
       updateShowDialog(isVisible) {
           if (isVisible) return false;
           this.$emit('update:showDialog', false ) …
Run Code Online (Sandbox Code Playgroud)

vue.js vuejs2

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

自定义Chart.js的工具提示

vue我正在使用和的最新版本vue-chart.js

我想自定义悬停在某个点时显示的工具提示。

问题

工具提示与默认工具提示相比没有变化

问题

如何自定义工具提示。最终,我希望能够单击工具提示中的链接来触发一个对话框,该对话框将显示从我的 vue 组件中包含的数据中获取的详细信息。

Vue.component('line-chart', {
  extends: VueChartJs.Line,
  mounted () {
    this.renderChart({
      labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
      datasets: [
        {
          label: 'Data One',
          backgroundColor: '#f87979',
          data: [40, 39, 10, 40, 39, 80, 40]

        }
      ]
    }, {
      tooltips: {
        custom: function(tooltipModel) {
                // Tooltip Element
                var tooltipEl = document.getElementById('chartjs-tooltip');

                // Create element on first render
                if (!tooltipEl) {
                    tooltipEl = document.createElement('div');
                    tooltipEl.id = 'chartjs-tooltip';
                    tooltipEl.innerHTML = "<table></table>"
                    document.body.appendChild(tooltipEl);
                }

                // …
Run Code Online (Sandbox Code Playgroud)

vuejs2 vue-chartjs

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