可能重复:
php错误处于条件状态
我注意到很多PHP代码使用CONST == VARIABLE等条件语句.我长大的语法总是以相反的方式表达出来.这种结构有原因吗?
例:
// this is the way I see it most typically represented in PHP
if ( false == $foobar ) { // do this }
// this is the way I normally do it
if ( $foobar == false ) { // do this }
Run Code Online (Sandbox Code Playgroud) 是否有可用于Handlebars,Ember或两者的Textmate 2.0软件包?
我找到了以下内容:
https://github.com/drnic/Handlebars.tmbundle
但它在2年内没有更新,我无法在Textmate 2中有效地为我工作(虽然我的方式可能是黑客攻击它是问题).
我有一个具有关系的余烬数据模型belongsTo
,我想测试此关系中是否有任何值(又名外键引用)。我最初以为我可以这样说:
if(myModel.rel !== null) {
// do something now that belongsTo relationship has a value
}
Run Code Online (Sandbox Code Playgroud)
但当然这是行不通的,因为它myModel.rel
永远不会为空,而是某种 Ember 数据对象。好的。我将其调整为:
if(myModel.rel.content !== null) {
// do something now that belongsTo relationship has a value
}
Run Code Online (Sandbox Code Playgroud)
这确实有效,但我觉得这可能有点太“hacky”了……有没有一种更干净、更 API 驱动的方式来在 Ember Data 中声明这个条件?
我正在使用D3的弧形并附加了D3 drag
处理程序来捕捉拖动.查看浏览器的调试器:
您可以看到生成的Arc的路径确实正在侦听相应的事件,但回调从未被触发,并且没有向控制台报告JS错误.
用于添加处理程序(以及回调)的代码在这里.对于那些熟悉Ember的人来说,很棒,对于你们这些人我并没有尝试只显示相关的JS部分.
import { drag } from 'd3-drag';
import { arc } from 'd3-shape';
import { select } from 'd3-selection';
const uiArc = Ember.Component.extend({
layout,
tagName: '',
init() {
this._super(...arguments);
Ember.run.schedule('afterRender', () => {
this.svg = document.getElementById(this.elementId);
this.addDragListeners(`#${this.elementId} .unselected`);
});
},
addDragListeners(target) {
drag.container = this;
select(target).call(drag().on('start', this._dragStart));
select(target).call(drag().on('drag', this._dragging));
select(target).call(drag().on('end', this._dragEnd));
},
_dragStart(e) {
console.log('drag starting', e);
},
_dragging(e) {
console.log('dragging', e);
},
_dragEnd(e) {
console.log('drag ending', e);
},
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我弄清楚如何调试或建议可能出错的地方?
注意:我使用的是d3版本4,截至今日(2016年5月30日)的最新版本
对于其他上下文,负责绘制路径的Handlebars模板也是:
<path
d={{arc}} …
Run Code Online (Sandbox Code Playgroud) 我想docker-compose
在我的开发环境中创建文件并使用它来启动一台机器“群”。目标是让开发环境尽可能与 CI、QA 和 Prod 环境保持一致。
我一年多以前使用过 docker,但发生了很多变化,我对使用 1.12 作为我的平台非常感兴趣。我的问题如下:
注意:我知道 VM 可以模拟其他机器——许多示例都是从这样做开始的——但我想避免运行任何 VM 以降低运行此设置的资源成本
有没有人可以参考我的单节点群的好例子?
Firebase 类型有一个接口IQuery
,其equalTo()
方法类型如下:
public equalTo(value: number | string | boolean | null, name?: string): IQuery;
Run Code Online (Sandbox Code Playgroud)
我有一个模拟库,试图模仿Firebase暴露的API表面,但在name
参数的情况下,"string"的一般类型可以更具体:
public equalTo(value: number | string | boolean | null, key?: keyof T): IQuery<T>
Run Code Online (Sandbox Code Playgroud)
通过声明keyof T
我们得到一些非常有用的静态检查,我不想丢失,事实上直到TypeScript 2.8.3我似乎能够做到这一点但是当转移到2.9.x
Types of Types时,我现在得到这个错误:
类型'string'不能分配给'keyof T'类型.
对于更多上下文,我的模拟库中的类定义是:
export default class Query<T = any> implements IQuery<T> { ... }
Run Code Online (Sandbox Code Playgroud)
当<T>
泛型类型为类型的数据结构,查询将返回的指标.
此外值得注意的是,T 总是被塑造为带字符串键的字典/哈希,因此keyof T
将成为字符串值的子集,但在我的输入中,我没有说明这一点,所以我得到了Typescript带来问题的地方......我只是不知道如何表达keyof T
必须是一个字符串.
我有一个UserDialog
组件,它利用 Vuex 状态树的一部分来确定它是否应该显示自己:
import { Component, Prop, Vue } from 'vue-property-decorator';
import { State, Getter, Mutation, Action, namespace } from 'vuex-class';
import { fk } from 'firemodel';
import { User } from '@/models/User';
const Users = namespace('users');
@Component({})
export default class UserDialog extends Vue {
@Prop() public id!: fk;
@Users.State public show: fk;
@Users.Getter public selectedUser: User;
@Users.Mutation public HIDE_USER_PROFILE: () => void;
public get showDialog() {
return this.show === undefined ? false : true;
}
}
Run Code Online (Sandbox Code Playgroud)
我从父组件调用 …
我正在使用jQuery .get()函数加载模板文件,然后通过定位特定的DOM元素将加载的HTML显示在页面的一部分中.它运作良好,但我最近意识到的原因让我感到困惑的是它正在缓存我的模板文件并屏蔽我所做的更改.
别误会我的意思......我喜欢和下一个人一样的缓存.我希望它在客户端缓存和服务器上的文件之间没有时间戳差异时进行缓存.然而,这不是正在发生的事情.为了使它更奇怪...使用相同的功能加载模板...一些模板文件正在加载更新而其他模板文件没有(更喜欢缓存版本而不是最近的更改).
下面是我使用的加载功能.
function LoadTemplateFile ( DOMlocation , templateFile , addEventsFlag ) {
$.get( templateFile , function (data) {
$( DOMlocation ).html(data);
});
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.
新细节:我一直在做一些调试,现在看到返回到成功函数的"数据"变量确实有更新的信息但是由于我还不清楚的原因是什么插入到DOM中的是旧版本.如何发生这种情况现在已成为我的问题.
我正在尝试设置一个REST模型并且遇到一个让我感到困惑的问题:生成的API调用似乎删除了模型的第一个字母,因此无法检索数据(得到404错误).
我从设置商店开始:
App.Store = DS.Store.extend({
revision: 11,
adapter: DS.RESTAdapter.reopen({
namespace: 'api/admin'
})
});
Run Code Online (Sandbox Code Playgroud)
然后我设置了一个模型(在REST服务上称为"dbx_tables":
App.dbxTable = DS.Model.extend({
name: "string",
db_column: "string"
});
Run Code Online (Sandbox Code Playgroud)
然后是路线:
App.DbxRoute = Ember.Route.extend({
model: function() {
return App.dbxTable.find();
}
});
Run Code Online (Sandbox Code Playgroud)
我已经开启了过渡记录:
App = Ember.Application.create({
LOG_TRANSITIONS: true
});
Run Code Online (Sandbox Code Playgroud)
因此,当我启动应用程序时,它首先转换到"about"页面然后我点击"dbx"视图(我不确定为什么它说dbx.index
而不仅仅是dbx
):
DEBUG: ------------------------------- ember-1.0.0-rc.1.js:339
DEBUG: Ember.VERSION : 1.0.0-rc.1 ember-1.0.0-rc.1.js:339
DEBUG: Handlebars.VERSION : 1.0.0-rc.3 ember-1.0.0-rc.1.js:339
DEBUG: jQuery.VERSION : 1.9.1 ember-1.0.0-rc.1.js:339
DEBUG: ------------------------------- ember-1.0.0-rc.1.js:339
Transitioned into 'about' ember-1.0.0-rc.1.js:339
Transitioned into 'dbx.index' ember-1.0.0-rc.1.js:339
GET http://lifegadget-local/api/admin/bx_tables 404 (Not Found) jquery-1.9.1.js:8526 …
Run Code Online (Sandbox Code Playgroud) 我有一个简单的RegEx模式测试,我想在字符串上运行它;您可以在下面的示例中将其视为变量part
。
但是,当我这样做时,红色波浪线表示以下错误:
类型“string”.ts(2339) 上不存在属性“test”
我正在使用 TS 3.2.2 并且我tsconfig.json
的相当乏味:
{
"compilerOptions": {
"declaration": true,
"module": "commonjs",
"moduleResolution": "node",
"target": "es2017",
"noImplicitAny": true,
"outDir": "./lib",
"preserveConstEnums": true,
"removeComments": true,
"typeRoots": ["./node_modules/@types"]
},
"include": ["src/**/*.ts"],
"exclude": ["node_modules", "**/*-spec.ts"]
}
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我理解这一点吗?显然test
是字符串的属性!
ember.js ×4
ember-data ×2
typescript ×2
caching ×1
d3.js ×1
docker ×1
docker-swarm ×1
javascript ×1
jquery ×1
php ×1
vue.js ×1
vuex ×1