在Vim中,我可以使用以下命令回显当前文件名:
:echo @%
Run Code Online (Sandbox Code Playgroud)
我在这里找到了这些信息:http://vim.wikia.com/wiki/Get_the_name_of_the_current_file
有人可以解释为什么@符号是必要的吗?如果我输入没有@符号的命令,我收到一个错误:
E15: Invalid expression: %
E15: Invalid expression: %
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试将文件名bang作为参数发送到命令,则包括@符号在参数中显示为常规字符.删除@标志工作.换句话说,在我.bash_profile我有以下功能:
test_func() {
echo $1
}
Run Code Online (Sandbox Code Playgroud)
在Vim中,我运行:
:! test_func @% #outputs @path/to/my/file
:! test_func % #outputs path/to/my/file
Run Code Online (Sandbox Code Playgroud)
什么是@符号做?为什么发送输出到bash函数时不同的表现?
我正在使用 Supervisord 来监控 Laravel 4.2 中的队列。这是我的 Supervisord 配置文件:
[program:webhooks]
command=php artisan queue:work --daemon --queue=webhooks --tries=3 --sleep=5
directory=/var/www/html/app
stdout_logfile=/var/www/html/app/app/storage/logs/webhooks_supervisord.log
redirect_stderr=true
autostart=true
autorestart=true
Run Code Online (Sandbox Code Playgroud)
正如我在 Laravel 文档中看到的:
守护进程队列工作人员在处理每个作业之前不会重新启动框架。
据我所知,这意味着如果我对框架中的一个文件进行更改,该更改将不会反映在处理队列的守护进程中。例如,如果我的文件之一显示为 ,echo 1;而我更改为echo 2;,则队列使用的框架版本仍将显示为echo 1,直到我重新启动队列。要使这些新更改生效,我需要运行:
sudo supervisorctl
supervisor> stop webhooks
supervisor> start webhooks
Run Code Online (Sandbox Code Playgroud)
我正确的是这是必需的吗?或者是否有另一种方法来处理这个问题,以便在不重新启动队列的情况下获取对文件的新更改?
通常要在Angular中验证表单,我会在ng-submit指令上使用类似的东西:
<form name="formName" ng-submit="formName.$valid && submitForm()"></form>
Run Code Online (Sandbox Code Playgroud)
当表单具有我在构建表单时设置的名称时,这非常有用.但是,在我目前的情况下,我正在尝试基于对象列表创建多个表单.在这种情况下,每个表单都有一个即时确定的名称.
当用户提交其中一个表单时,如何在运行该submitForm()表单的函数之前对其进行验证?
这是简化问题的一个方面:http: //jsfiddle.net/flyingL123/ub6wLewc/1/
我的问题是,如何访问表单的名称以进行验证?这是小提琴的代码:
var app = angular.module('app', []);
app.controller("AppController", ['$scope', function($scope) {
$scope.forms = [{
id: 1,
value: "val1"
}, {
id: 2,
value: "val2"
}, {
id: 3,
value: "val3"
}];
$scope.submitForm = function() {
alert('submitted');
}
}]);Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js"></script>
<div id="app" ng-app="app" ng-controller="AppController">
<div class="formWrapper" ng-repeat="form in forms">
<form name="{{ 'form' + form.id }}" ng-submit="submitForm()" novalidate>
<input ng-model="form.value" required />
<button type="submit">Submit</button>
</form>
</div> …Run Code Online (Sandbox Code Playgroud)我试图orWhereHas在Laravel中使用嵌套关系中的方法,但我没有得到我期望的结果.我误解了如何使用这种方法吗?
我的关系设置如下:
Product
-> hasOne uniqueItem
-> hasMany fulfillmentCenterUniqueItems
-> hasMany skus
-> hasOne uniqueItem
-> hasMany fulfillmentCenterUniqueItems
Run Code Online (Sandbox Code Playgroud)
我想测试出whereHas,并orWhereHas通过检索产品的方法从包含的数据库uniqueItems是有一个uniqueItemFulfillmentCenter与id = 7089包含一个或产品 sku,包含uniqueItem,具有uniqueItemFulfillmentCenter带id = 7412.
根据我的数据库中的数据,此查询的结果应该是两个产品.产品ID 105和239.
这是我正在使用的Eloquent代码:
$product = Spire_models\Product
::whereHas('uniqueItem.fulfillmentCenterUniqueItems', function ($query)
{
$query->where('id', 7089);
})
->orWhereHas('skus.uniqueItem.fulfillmentCenterUniqueItems', function ($query)
{
$query->where('id', 7412);
})
->get()->toArray();
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这只返回产品ID 105,而不是105和239.此函数生成的sql是:
select * from `products` where `products`.`deleted_at` is null and (select count(*) from `unique_items` where …Run Code Online (Sandbox Code Playgroud) 我不确定我在这里缺少什么。我正在使用jspm和es6-module-loader进行项目。我有一个定义如下的模块:
import hooks from './hooks';
import api from './api';
import tools from './tools';
const StencilUtils = {
hooks: hooks,
api: api,
tools: tools,
};
export {hooks, api, tools};
export default StencilUtils;
/* global define */
(function(root) {
if (typeof define === 'function' && define.amd) {
define(function() {
return (root.stencilUtils = StencilUtils);
});
} else if (typeof module === 'object' && module.exports) {
module.exports = StencilUtils;
} else {
window.stencilUtils = StencilUtils;
}
}(this));
Run Code Online (Sandbox Code Playgroud)
我将此模块导入另一个文件,并像这样使用它:
import utils from 'bigcommerce/stencil-utils';
utils.hooks.on('cart-item-add', (event, …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个bash别名,每次调用别名时都会打印当前的UNIX时间戳.我的bash配置文件中包含以下内容:
alias unix="echo "$(date +%s)""
Run Code Online (Sandbox Code Playgroud)
但是,似乎一旦获取bash配置文件,就会存储当前的unix时间戳,并且每次调用别名时它都不会更改.
例如,如果我将unix别名分别调用三次10秒,则输出始终相同.如何创建一个别名来评估调用别名时的unix时间戳.这可能吗?
我正在尝试设置一个非常基本的 DataTables 示例。用DataTables初始化表后,为什么有些API方法不可用?我是否缺少应该如何使用的东西?
这是一个简单的 jsfiddle,我在其中初始化表,然后尝试检索第一行。但是,它看起来不row()存在这样的方法:
这是小提琴中的javascript:
$(document).ready(function(){
var myDataTable = $('#myTable').dataTable();
console.log(myDataTable.row(0));
});
Run Code Online (Sandbox Code Playgroud)
开发人员控制台显示以下错误,指的是该console.log行:
Uncaught TypeError: undefined is not a function
Run Code Online (Sandbox Code Playgroud)
非常感谢这里的任何帮助。
使用Laravel,有没有办法将文件附加到电子邮件而不实际创建文件?这意味着,我可以让电子邮件包含文本文件附件,而不是实际将文件保存到某处并告诉Laravel文件的路径,我是否可以只传递Laravel我想要包含在文件中的数据?
我认为这样做的方法与内存流有关,但我不确定如何实现它.
在使用bootstrap和jquery的非角度应用程序中,我可以创建如下按钮:
<button id="saveButton" data-loading-text="Please wait...">Save</button>
Run Code Online (Sandbox Code Playgroud)
然后,当单击该按钮时,我可以将其设置为它的加载状态,如下所示:
$('#saveButton').button('loading');
Run Code Online (Sandbox Code Playgroud)
单击此按钮也会触发ajax请求,在该请求的回调中,我可以重置按钮,如下所示:
$('#saveButton').button('reset');
Run Code Online (Sandbox Code Playgroud)
如何在角度应用程序中完成相同的行为?该应用程序还包括Jquery和Bootstrap.
I'm trying to add points to a path object dynamically. When I do, the path renders correctly, but the bounding rectangle never gets updated, making it nearly impossible for a user to select and move the path on canvas.
As you can see in the code below, the path is initially created with a single point, then I dynamically add a second point as well as a control point. After doing this, the bounding rectangle never updates:
var canvas = …Run Code Online (Sandbox Code Playgroud)