小编geo*_*trl的帖子

NUXT - SSR - 组件未在服务器端呈现

我是 Nuxt 的新手 - 将我的 vue 应用程序转换为它,并使其投入生产:gameslate.io

该应用程序正在使用该asyncData方法来获取游戏列表 - 但是完整的布局并未呈现在服务器上......

如果您查看页面源代码,您会看到 Nuxt 将所有数据放入 中window.__NUXT__,但没有网格 html。

获取数据后如何在服务器上呈现完整布局asyncData

否则,谷歌无法抓取游戏列表 - 这对 SEO 来说变得非常无用......(查看 twitter 的页面源 - 它加载整个页面,包括动态内容)

这是进行 asyncData 调用的“主页”页面组件(简化):

<template>
  <div>things</div>                       <!-- rendered on server -->
  <game-grid :games="games"></game-grid>  <!-- rendered in browser -->
</template>

<script>
  export default {
    data() {
      return {
        games: []
      }
    }
    async asyncData() {
      let games = await getGames(filters);
      return { games };
    }
  }
</script>
Run Code Online (Sandbox Code Playgroud)

javascript vue.js server-side-rendering nuxt.js

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

未找到laravel类(适用于localhost但不适用于DO服务器)

这是一个重复的问题 - 例如: Laravel 4迁移 - 找不到类

但是,我已经尝试了所有解决方案(来自我能找到的每个论坛)并且无法解决这个问题.

脚本

我在我的本地机器上创建了一个Laravel 4项目 - 添加了一些类,控制器,视图等 - 项目运行良好.

然后我将这个新的repo复制到我的DO服务器上 - 用composer等安装依赖项.该项目看起来不错,除了一个页面发出错误:

Class 'company' not found
Symfony\Component\Debug\Exception\FatalErrorException
…/­vendor/­laravel/­framework/­src/­Illuminate/­Database/­Eloquent/­Model.php593
Run Code Online (Sandbox Code Playgroud)

您可以在此处查看此页面.

我试过了...

我已经更新了作曲家.我试过"dump-autoload".我在composer.json文件中将'minimum-stability'更改为'stable'(是的,这是在论坛帖子上提出的解决方案).

其他解决方案与在composer.json文件中添加"psr-4"或"psr-0"有关,具体取决于作曲家版本 - 尝试了两者.

最令我难以置信的是,这个页面在我的本地机器上工作得很好,但在DO服务器上却不行....如果你们需要更多关于某些东西的信息来解决这个问题,请告诉我.

任何帮助表示赞赏:)


这就是我的composer.json文件的样子:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "require": {
        "laravel/framework": "4.0.*"
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize" …
Run Code Online (Sandbox Code Playgroud)

php autoload laravel composer-php laravel-4

7
推荐指数
2
解决办法
5208
查看次数

array_intersect可变数量的数组

我正在创建一个分面搜索,我正在尝试array_intersect比较数组并找到匹配的输入.

问题是我随时会有可变数量的数组,具体取决于用户选择的过滤器:

$array_1, $array_2, $array_3 等等...

如何array_intersect在这种意义上创建一个动态的函数?

这就是我尝试过的:

$next_array = 0;
for($i = 0; $i < $array_count; $i++) {
    $next_array++;
    if ($i == 0) {
        $full_array = ${array_.$i};
    } else {
        if(!empty(${cvp_array.$next_array})) {
            $full_array = array_intersect($full_array, ${cvp_array_.$next_array});
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

-------------编辑-------------

我会尝试更多地缩小我的目标:

如果用户单击三个过滤器,则会生成三个阵列,每个阵列都有单独的结果:

Array_1 ( [0] => 2, [1] => 4, [2] => 6 )

Array_2 ( [0] => 1, [1] => 4, [2] => 6 )

Array_3 ( [0] => 6, [1] => 7, [2] …

php arrays variables loops array-intersect

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

angular指令控制器"this"返回undefined

我正在尝试使用require和共享父控制器来连接两个指令.

我在其他项目中已经完成了这么多次,但对于我的生活,我无法让这个工作......

指令控制器this返回undefined,这反过来使得很难将方法传递给子指令...

这是我的父指令的代码:

app.directive('defaultHeader', () => {

    let defaultHeaderCtrl = ($scope, $element) => {

        let containEl,
            elHeight = 500;

        console.log(this) // returns 'undefined'

        function resizeElement(el, height) {
            el[0].style.height = `${height}px`
        }

        if (_.isUndefined($scope.coverImgUrl)) {
            resizeElement($element, elHeight);
        } else {

        }
    };

    return {
        restrict: 'A',
        scope: {
            coverImgUrl: '='
        },
        controller: defaultHeaderCtrl
    };
});
Run Code Online (Sandbox Code Playgroud)

这个小提琴表明指令控制器this应该返回构造函数.

如果有人有兴趣,这里有一些背景:

  • ui router template是一个指令元素 <div default-header data="data"></div>
  • ui路由器解析数据,然后通过控制器传递给指令

谢谢您的帮助

javascript this angularjs angular-directive

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