我正在使用PhoneGap和jQuery Mobile构建我的第一个移动应用程序,我遇到了一个小问题.
我一直在Android上测试它,无论是在物理设备还是模拟器上.由于此应用程序非常简单,并且没有任何设置方式,我想禁用"菜单"按钮.
现在,我从PhoneGap文档中得到的印象是,您需要为menubutton事件添加事件侦听器以覆盖默认行为,并使用preventDefault来停止发生的默认操作.尽我所能,我似乎无法让它工作.我为它编写的代码是在JSFiddle上.
这可能吗?如果是这样,任何想法我哪里错了?
编辑:应该真的提到版本 - 我正在使用PhoneGap 2.0.
我在项目中第一次使用Vagrant和Puppet而且我一直遇到问题.
我使用PuPHPet作为起点,我在default.pp清单中有以下代码段:
class { 'apache': }
apache::dotconf { 'custom':
content => 'EnableSendfile Off',
}
apache::module { 'rewrite': }
apache::vhost { 'awesome.dev':
server_name => 'awesome.dev',
serveraliases => [
],
docroot => '/var/www',
port => '80',
directories => [ { path => '/var/www/', allow => 'from all', allow_override => ['All'] } ],
env_variables => [],
priority => '1',
}
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我总是得到以下错误:
warning: Could not retrieve fact fqdn
Invalid parameter directories at /tmp/vagrant-puppet/manifests/default.pp:46 on node precise32
The following SSH command responded with a non-zero …Run Code Online (Sandbox Code Playgroud) 对于具有基于Angular的前端的应用程序,我有一个恼人的问题.某个选择框是"粘滞的" - 您必须选择两次选项才能更改它.这是一个重现问题的片段:
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
<script>
var app = angular.module('myapp', []);
app.controller('NewsCtrl', function($scope) {
// Set news data
$scope.news = {
specific_for_dealership: '003'
};
// Get dealers
$scope.dealers = [{
id: 1,
dealerid: '001',
name: 'Volvo'
}, {
id: 2,
dealerid: '002',
name: 'Saab'
}, {
id: 3,
dealerid: '003',
name: 'Seat'
}];
});
</script>
<div ng-app="myapp">
<div ng-controller="NewsCtrl">
<form>
<select name="specific_for_dealership" ng-model="news.specific_for_dealership">
<option value="">All</option>
<option ng-repeat="dealer in dealers" ng-selected="news.specific_for_dealership" value="{{ dealer.dealerid }}">{{ dealer.name }}</option>
</select>
</form>
</div>
</div>Run Code Online (Sandbox Code Playgroud)
知道出了什么问题以及如何解决这个问题?
我现在有一个奇怪的问题。
我目前正在在Github上的https://github.com/matthewbdaly/laravel-error-snapshot上构建一个Laravel软件包。我正在使用Orchestra Testbench软件包来单独测试该软件包以及它的BrowserKit扩展。
当我在本地运行测试套件时,它工作正常。但是,在Travis CI中,它将引发以下错误:
Error: Class 'Route' not found in /home/travis/build/matthewbdaly/laravel-error-snapshot/src/routes.php on line 3
Run Code Online (Sandbox Code Playgroud)
所以我尝试在中明确导入Route门面routes.php。同样,它仅在本地工作,但返回了不同的错误消息:
PHP Fatal error: Uncaught RuntimeException: A facade root has not been set. in /home/travis/build/matthewbdaly/laravel-error-snapshot/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:218
Run Code Online (Sandbox Code Playgroud)
我真的不确定为什么它可以在一种环境下工作,而不能在另一种环境下工作。谁能对此有所启示?就我所知,这似乎不是Travis CI的临时问题,但我不确定还有什么问题。
编辑:这很有趣...
如果我安装Xdebug并在启用coverage的情况下运行测试,则可以在本地重现该错误:
PHP Fatal error: Uncaught Error: Class 'Route' not found in /home/matthew/Projects/laravel-error-snapshot/src/routes.php:3
Stack trace:
#0 /home/matthew/Projects/laravel-error-snapshot/vendor/phpunit/php-code-coverage/src/CodeCoverage.php(1097): include_once()
#1 /home/matthew/Projects/laravel-error-snapshot/vendor/phpunit/php-code-coverage/src/CodeCoverage.php(269): SebastianBergmann\CodeCoverage\CodeCoverage->initializeData()
#2 /home/matthew/Projects/laravel-error-snapshot/vendor/phpunit/phpunit/src/Framework/TestResult.php(659): SebastianBergmann\CodeCoverage\CodeCoverage->start(Object(Tests\Feature\SnapshotTest))
#3 /home/matthew/Projects/laravel-error-snapshot/vendor/phpunit/phpunit/src/Framework/TestCase.php(894): PHPUnit\Framework\TestResult->run(Object(Tests\Feature\SnapshotTest))
#4 /home/matthew/Projects/laravel-error-snapshot/vendor/phpunit/phpunit/src/Framework/TestSuite.php(744): PHPUnit\Framework\TestCase->run(Object(PHPUnit\Framework\TestResult))
#5 /home/matthew/Projects/laravel-error-snapshot/vendor/phpunit/ in /home/matthew/Projects/laravel-error-snapshot/src/routes.php on line 3
Run Code Online (Sandbox Code Playgroud)
我认为这与Route门面没有以某种方式解决有关。
可能重复:
$ .ajax上下文选项
我有一些看起来像这样的代码:
$.post(self.baseUrl + 'api/method',
{param1: data},
function (response) {
// Do something
});
Run Code Online (Sandbox Code Playgroud)
我想将对自身对象的引用传递给回调,我想这会是这样的:
$.post(self.baseUrl + 'api/method',
{param1: data},
function (response, self) {
// Do something
});
Run Code Online (Sandbox Code Playgroud)
但是,它不能像这样工作,jQuery文档没有显示一种方法可以使这成为可能,粗略的谷歌搜索没有发现任何东西.这可能,我该怎么办?
我正在使用Laravel应用程序,该应用程序在客户端使用React和Redux,以及React预设和Mix。我决定尝试使用API的GraphQL,而不是通常的REST API方法,到目前为止,它的工作正常。但是,我现在陷入困境。
我将Apollo用作HTTP客户端,因为它是为与GraphQL一起使用而构建的。过去,我曾使用JWT Auth来保护API,因此自然而然也选择了这种方法,因为实现只是添加适当的标头的一种情况。我遵循了有关使用Apollo设置标题的说明,但是没有设置标题。这是有问题的JS文件:
import LinkList from './components/LinkList';
import React from 'react';
import ReactDOM from 'react-dom';
import {Container} from './container';
import {createStore} from 'redux';
import reducer from './reducer';
import {Provider} from 'react-redux';
import {fromJS} from 'immutable';
import ApolloClient from 'apollo-boost';
import gql from 'graphql-tag';
import { createHttpLink } from 'apollo-link-http';
import { setContext } from 'apollo-link-context';
import { InMemoryCache } from 'apollo-cache-inmemory';
const httpLink = createHttpLink({
uri: window.initialData.graphql_route
});
const authLink = setContext((_, { headers }) …Run Code Online (Sandbox Code Playgroud) 我正在开发一个PHP联系表单,但我无法让它工作.我在Apache服务器日志中遇到以下错误,在Ubuntu服务器VM上运行:
PHP Parse error: syntax error, unexpected $end in /home/matthew/Sites/contactFormResponse.php on line 75, referer: http://192.168.1.4/contactForm.php
Run Code Online (Sandbox Code Playgroud)
从谷歌搜索这个错误,听起来它通常是由于服务器没有设置识别它们时使用短PHP标签,或者是由于没有正确关闭的代码块.但据我所知,情况并非如此 - 据我所知,它已全部正确关闭.它引用的行是超过文件末尾的一行.
这是PHP代码:
<?php
error_reporting(E_ALL);
// Define variables to hold the name, email address and message, and import the information into the variables
$name = $_POST['NameInput'];
$email = $_POST['EmailAddress'];
$telno = $_POST['ContactNumber'];
$querytype = $_POST['QueryType'];
$bookingstartdate = $_POST['BookingStartDay'] . $_POST['BookingStartMonth'] . $_POST['BookingStartYear'];
$bookingenddate = $_POST['BookingEndDay'] . $_POST['BookingEndMonth'] . $_POST['BookingEndYear'];
$message = $_POST['QueryText'];
// Validate the inputs - send it if it's OK
if(3 < …Run Code Online (Sandbox Code Playgroud) 我正在努力在Laravel 5中缓存查询.我编写了以下代码,它看起来与文档中的内容一致:
// Get ID
$id = Auth::id();
// Get user
$user = Cache::remember('user-' . $id, 5, function ($id) {
return User::find($id);
});
Run Code Online (Sandbox Code Playgroud)
但它引发了以下错误:
Missing argument 1 for App\Providers\RouteServiceProvider::{closure}()
Run Code Online (Sandbox Code Playgroud)
知道我哪里出错了吗?
我有一个看起来像这样的组件:
//@flow
import React, { useState } from "react";
type Props = {
likes: int,
toggleLike: () => void,
};
const Foo = (props: Props) => {
const [open, setOpen] = useState(false);
const style = `item${open ? " open": ""}`;
return (
<div className={style} onMouseOver={() => setOpen(true)} onFocus={() => setOpen(true)} onMouseOut={() => setOpen(false)} onBlur={() => setOpen(false)}>
<button onClick={props.toggleLike}>Toggle like</button>
</div>
);
};
export default Foo;
Run Code Online (Sandbox Code Playgroud)
该open状态用于在鼠标悬停时应用“打开”类。如果我调用toggleLike()prop 函数,问题就来了,因为这会更新 props 并且组件被open重新渲染并重置为 false。由于样式使用过渡,这会导致动画重新运行,因为它变回 false,然后由于鼠标悬停在它上面而变为 true。
那么,如何防止在每次后续渲染时open …
我为AngularJS应用程序的服务编写了以下非常简单的测试:
describe('Services', function () {
beforeEach(function(){
this.addMatchers({
toEqualData: function(expected) {
return angular.equals(this.actual, expected);
}
});
});
beforeEach(module('myapp.services'));
describe('Album service', function(){
var Album;
beforeEach(inject(function (_Album_) {
Album = _Album_;
}));
it('can get an instance of the Album factory', inject(function (Album) {
expect(Album).toBeDefined();
}));
});
});
Run Code Online (Sandbox Code Playgroud)
我刚刚在AngularJS文档中建议添加了自定义toEqualData匹配器.然而,这打破了测试.我正在使用Gulp来运行测试gulp-karma(虽然如果我直接使用Karma会出现同样的问题),并且我看到以下错误消息:
$ gulp test
[10:00:04] Using gulpfile ~/Projects/myapp/gulpfile.js
[10:00:04] Starting 'jshint'...
[10:00:04] Starting 'karma'...
WARN `start` method is deprecated since 0.13. It will be removed in 0.14. Please use
server = new …Run Code Online (Sandbox Code Playgroud)