小编sha*_*ich的帖子

在 JavaScript 中评估 Razor 变量

我需要评估 JavaScript 函数中的 razor 变量。鉴于以下代码:

 @{var unseenNotificationsExist = false;}
 
 @foreach(var notification in viewModel)
 {
    if (notification.WasSeen == false)
    {
      unseenNotificationsExist = true;
      break;
    }
 }
Run Code Online (Sandbox Code Playgroud)

我需要unseenNotificationsExist像这样在 JavaScript 中评估变量:

 if(@unseenNotificationsExist == true)
        $('#unseenNotifCount').addClass('notifNotSeen');
Run Code Online (Sandbox Code Playgroud)

但是,当我调试 JavaScript 代码时,我得到以下信息:

if(True == true)
Run Code Online (Sandbox Code Playgroud)

而且我收到以下错误:

未捕获的 ReferenceError True 未定义

javascript asp.net-mvc razor

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

从 Guzzle 响应消息中获取 http 请求标头作为字符串

使用 Guzzle 执行 http 请求后,我想打印所有响应标头。我怎样才能做到这一点?

在 guzzle 文档中指出该getHeaders()方法应该能够将标头转换为字符串,但是

<?php

    print $response->getHeaders();

?>
Run Code Online (Sandbox Code Playgroud)

不起作用。还指出GuzzleHttp\Message\Response应该有一个方法被调用getRawHeaders(),它应该将标题作为字符串返回,但是 php 告诉我该方法在 Response 对象上未定义。那么,如何完成将所有响应标头打印为字符串的任务?

php http guzzle

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

如何在 Laravel 的服务容器中使用标记?

我需要知道使用服务容器标记的目的是什么以及如何通过示例使用它,这是我到目前为止所尝试的。

class MemoryReport
{
}

class SpeedReport
{
}

class ReportAggregator
{
    public function __construct(MemoryReport $memory, SpeedReport $speed)
    {
    }
}
  
App::bind('MemoryReport', function () {
    return new MemoryReport;
});

App::bind('SpeedReport', function () {
    return new SpeedReport;
});

App::tag(['MemoryReport', 'SpeedReport'], 'reports');


App::bind('ReportAggregator', function ($app) {
    return new ReportAggregator($app->tagged('reports'));
});

$reportAggregator = resolve('ReportAggregator');

dd($reportAggregator);
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误。

传递给 ReportAggregator::__construct() 的参数 1 必须是 MemoryReport 的实例,给出的 Illuminate\Container\RewindableGenerator 的实例,在 /media/mazzam/9068A9DC68A9C0F81/M.azzam/Learning/laravel/00 Tutorial/tut/routes/ 中调用web.php 第 80 行

php tagging laravel laravel-service-container

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

Laravel - 服务容器中单例和实例绑定之间的区别

在Laravel的服务容器中,我可以绑定单例和实例。来自 Laravel文档

绑定单例

单例方法将一个类或接口绑定到容器中,该容器只应解析一次。一旦解析了单例绑定,后续调用容器时将返回相同的对象实例:

$this->app->singleton('HelpSpot\API', function ($app) {
    return new HelpSpot\API($app->make('HttpClient'));
});
Run Code Online (Sandbox Code Playgroud)

绑定实例

您还可以使用实例方法将现有对象实例绑定到容器中。给定的实例将始终在后续调用容器时返回:

$api = new HelpSpot\API(new HttpClient);

$this->app->instance('HelpSpot\API', $api);
Run Code Online (Sandbox Code Playgroud)

Q1)那么这两个概念有什么区别?我可以猜测,对于单例绑定,Laravel 在第一次请求时通过内部服务容器机制构建对象本身,然后在后续调用中提供它,而在实例绑定的情况下,服务容器会显式地给出一个已经构建的对象,它在每个要求?

或者还有其他的解释吗?

Q2)为什么我们需要这两种绑定选项?

php laravel laravel-service-container

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

使用 FFMPEG 从音频生成波形视频

我正在尝试从音频创建波形视频。我的目标是制作一个看起来像这样的视频

在此处输入图片说明

对于我的测试,我有一个播放短片声音的 mp3。有 4 个 1/4 音符小节和 4 个 1/8 音符小节以 120bpm 播放。我在想出正确的预处理和过滤组合以生成看起来像图像的视频时遇到了一些麻烦。颜色不必精确,我更关心节拍的形状。我使用 showwaves 和 showspectrum 尝试了几种不同的方法。我无法完全理解为什么在使用 showwaves 时节拍过得如此之快,但使用 showspectrum 会生成一个视频,我可以在其中看到每个节拍。

秀波

ffmpeg -i beat_test.mp3 -filter_complex "[0:a]showwaves=s=1280x100:mode=cline:rate=25:scale=sqrt,format=yuv420p[v]" -map "[v]" -map 0:a output_wav.mp4
Run Code Online (Sandbox Code Playgroud)

链接将下载该命令的输出。

显示频谱

ffmpeg -i beat_test.mp3 -filter_complex "[0:a]showspectrum=s=1280x100:mode=combined:color=intensity:saturation=5:slide=1:scale=cbrt,format=yuv420p[v]" -map "[v]" -an -map 0:a output_spec.mp4
Run Code Online (Sandbox Code Playgroud)

链接将下载该命令的输出。

我发布了简单的示例,因为我不想通过添加我尝试过的所有变体来混淆问题。

在实践中,我想我可以摆脱 showspectrum 的输出,但我想了解我在哪里/如何错误地思考这个问题。感谢您的任何建议。

这是源音频文件的链接

ffmpeg

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

Laravel 服务容器和服务提供者

需要通过一个例子来了解 Laravel 服务容器和服务提供者。

laravel laravel-5.7 laravel-service-container

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

JavaScript 有元组吗?

我很想知道 JavaScript 中是否有 python 类型元组。我正在开发一个项目,我只需要使用对象列表而不是数组。

javascript syntax

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

如何在 Jquery 中使用 next() 函数向链接添加类?

我在一个具有活动类的类中有一个链接。我想找到该活动类的下一个链接并在新链接中添加活动类。我尝试使用next()函数,但它不起作用。

$("#next").on("click", function() {
  $(".test a.active").next(".test a").addClass("active");
});
Run Code Online (Sandbox Code Playgroud)
.active { color: red; }
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="test"><a href="" class="testx active">a</a></div>
<div class="test"><a href="" class="testx">b</a></div>
<div class="test"><a href="" class="testx">c</a></div>
<div class="test"><a href="" class="testx">d</a></div>
<div class="test"><a href="" class="testx">e</a></div>

<button id="next">click</button>
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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

如何修复下拉列表中项目的显示?

我有下拉列表。我想将“标题 1234 ”放在下拉列表的第一个位置。重要的是,当选择“标题1234”时,它的值为1234。我应该怎么做?

要像这样得到它:

目标屏幕

现在列表看起来像这样:

现在屏幕

Vue.createApp({
        data: () => ({
            model: 'title 1234',
            options: {
                1234: 'title 1234',
                1: 'title 1',
                2: 'title 2',
                3: 'title 3',
                10: 'title 10',
            },
        })
    }).mount('#app')
Run Code Online (Sandbox Code Playgroud)
<div id="app">
  <select v-model="model">
    <option v-for="option in options">
      {{ option }}
    </option>
  </select>
  <span>Value: {{ model }}</span>
</div>
    
<script src="https://unpkg.com/vue@next"></script>
<script src="app.js"></script>
Run Code Online (Sandbox Code Playgroud)

javascript html-select javascript-objects vue.js

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

为什么数组允许字符串作为 JavaScript 中的索引?

正如我们已经知道的,数组和对象之间的区别之一是:

“如果你想提供特定的键,唯一的选择是一个对象。如果你不关心键,那就是一个数组”(在这里阅读更多)

此外,根据MDN 的文档

数组不能使用字符串作为元素索引(如在关联数组中),但必须使用整数

然而,令我惊讶的是:

> var array = ["hello"]; // Key is numeric index
> array["hi"] = "weird"; // Key is string
content structure looks like:  ["hello", hi: "weird"]
Run Code Online (Sandbox Code Playgroud)

数组的内容结构看起来很奇怪。更重要的是,当我检查它返回的数组类型时true

Array.isArray(array) // true
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 为什么会有这种行为?这似乎不一致,对吧?
  2. 在幕后实际存储的数据结构是什么:作为数组或诸如对象、哈希表、链表之类的东西?
  3. 这种行为是否取决于特定的 JavaScript 引擎(V8spidermonkey等)?
  4. 我应该在普通对象上使用这样的数组(键都是数字索引和字符串)吗?

javascript arrays specifications object

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