如何在另一个文件中声明的javascript代码中声明变量?

时间:2018-03-08 16:52:07

标签: javascript php laravel-5

所以我使用的是Laravel 5.5,PHP 7.0

我在视图文件的底部有这个:

$("#myRange").ionRangeSlider({
    type: "double",
    grid: true,
    min: {{ $minPrice }},
    max: {{ $maxPrice}},
    @if(isset($returnData['Ranges']) && count($returnData['Ranges']) > 0)
        from: {{ $returnData['Ranges']['0'] }},
        to: {{ $returnData['Ranges']['1'] }}
    @else
        from: {{ $minPrice }},
        to: {{ $maxPrice}}
    @endif
});

错误是$ minPrice和$ maxPrice未声明。但是它们是在我的控制器文件中声明的。

这是我的控制器文件中的代码:

    $fees = array_unique($fees);
    $priceRanges = array();
    $minPrice = 0;
    $maxPrice = 0;
    if(count($fees) > 0){
        foreach ($fees as $key => $value) {
            $range = explode(' - ', $value);
            $priceRanges[] = $range['0'];
            $priceRanges[] = $range['1'];
        }
        $priceRanges = array_unique($priceRanges);
        $minPrice = (int) min($priceRanges);
        $maxPrice = (int) max($priceRanges);
    }

任何人如何修复我的视图(前端)文件中的javascript代码来声明变量?我在一个特定页面上出现此错误,该页面显示了我的数据库中的项目列表。如果我从主页搜索某个项目,然后查看搜索结果页面,则没有错误。仅在列表页面上。

2 个答案:

答案 0 :(得分:1)

在您的Javascript中,执行此操作

   $("#myRange").ionRangeSlider({
    type: "double",
    grid: true,
    min: @if(isset($minPrice)) {{ $minPrice }} @else 0 @endif,
    max: @if(isset($maxPrice)) {{ $maxPrice }} @else 0 @endif,
    @if(isset($returnData['Ranges']) && count($returnData['Ranges']) > 0)
        from: {{ $returnData['Ranges']['0'] }},
        to: {{ $returnData['Ranges']['1'] }}
    @else
        from: @if(isset($minPrice)) {{ $minPrice }} @else 0 @endif,
        to: @if(isset($maxPrice)) {{ $maxPrice }} @else 0 @endif
    @endif
});

如果值存在,则将其回显,否则回显0

答案 1 :(得分:-3)

使用旧的意大利面条代码声明它:

<?php
$minPrice = 0;
$maxPrice = 0;
?>

他们不需要接触JavaScript。