我正在使用ExtJS构建一个包含多个面板作为项目的窗口.其中一个面板包含一个按钮.
我想在我的按钮上附加一个处理程序,这样当我点击按钮时,我可以隐藏包含上述面板和此按钮的窗口.
我的问题是:如何在没有按ID引用窗口的情况下获取对按钮父窗口的引用?我真的想要一个Ext.Window实例的引用,而不是包含我的按钮的Ext.Panel实例.
注意:我不想通过id引用窗口,因为我是Ext.Window类的子类,因此窗口的id不会总是相同.简而言之,我正在创建一个Wizard类,当我单击向导的Cancel按钮时,我想隐藏包含该按钮的向导窗口.
这是我的代码:
var newWizardWindow = new WizardWindow({
id: 'newWizardWindow',
title: 'New',
items: [
...
],
buttons: [{
text: 'Cancel',
handler: function() {
// REFERENCE WizardWindow instance here.
}
},{
id: 'newWizardPreviousButton',
text: '« Previous',
disabled: true,
handler: newWizardNavigator.createDelegate(this, [-1])
},{
id: 'newWizardNextButton',
text: 'Next »',
handler: newWizardNavigator.createDelegate(this, [1])
}],
listeners: {
…
}
});
Run Code Online (Sandbox Code Playgroud)
以下是我如何隐藏窗口的一些想法:
在jQuery中,当我想显示或隐藏某些内容时,我这样做:
$('#elementId').show();
$('#elementId').hide();
Run Code Online (Sandbox Code Playgroud)
我如何用YUI做到这一点?我已经尝试过YAHOO.util.Dom.get('elementId').hide(),问我的同事,查看文档,搜索谷歌,我发现没有任何帮助.从文档中看起来应该可行
YAHOO.util.Dom.get('elementId').setStyle('display', 'none')
Run Code Online (Sandbox Code Playgroud)
但当然不是.我能想到的就是这个,这很糟糕因为我没有使用框架:
document.getElementById('elementId').style.display = 'none';
Run Code Online (Sandbox Code Playgroud) 我将Mac上的Node.js升级到最新的0.12.4,以及NPM升级到2.10.1,然后我为我的Express项目重新运行了npm install.
现在,当我访问https:// localhost:3001时,Chrome中的"此网页不可用/ ERR_CONNECTION_REFUSED".当我跑步时,curl -v https://localhost:3001我得到了
curl -v https://localhost:3001/
* Hostname was NOT found in DNS cache
* Trying ::1...
* Connected to localhost (::1) port 3001 (#0)
* Server aborted the SSL handshake
* Closing connection 0
curl: (35) Server aborted the SSL handshake
Run Code Online (Sandbox Code Playgroud)
这肯定是升级Node.js的结果,因为升级后问题会立即出现.
我开始这样的服务:
options = {
key: fs.readFileSync('sslkey.pem'),
cert: fs.readFileSync('sslcert.pem')
};
http.createServer(app).listen(settings.apiPort);
https.createServer(options, app).listen(settings.apiSSLPort);
console.log('Listening on ports: ' + settings.apiPort + ' and ' + settings.apiSSLPort);
Run Code Online (Sandbox Code Playgroud)
有没有人有什么想法导致这个问题?
当我使用IRB创建一个新的模型实例并保存时,没有任何东西打印到控制台,我得到一个"ActiveRecord :: StatementInvalid:Mysql :: Error:Column'user_id'不能为null"错误,所以我假设before_save不是被叫.我无法弄清楚为什么.我甚至尝试过使用before_save过滤器.这是我的代码:
require 'secure_resource/secure_resource_encryption'
class Database < ActiveRecord::Base
belongs_to :username_encryption, :class_name => "Encryption", :foreign_key => :username_encryption_id
belongs_to :password_encryption, :class_name => "Encryption", :foreign_key => :password_encryption_id
# Virtual attribute to retrieve the decrypted username.
def username
if self.username_encryption.nil?
return nil
end
begin
return self.username_encryption.encryption
rescue SecureResourceError
raise SecureResourceError
end
end
# Provides a way to reset the username.
def username=(username)
if self.username_encryption.nil?
self.username_encryption = Encryption.new
self.username_encryption.encryption = username
end
end
# Virtual attribute to retrieve the decrypted password.
def …Run Code Online (Sandbox Code Playgroud) 我在UTC中的日期时间字段中将日期存储在MySQL数据库中.我正在使用PHP,并且我调用了date_timezone_set('UTC'),以便所有对date()的调用(没有时间戳)以UTC格式返回日期.
然后,我有它,所以给定的网站可以选择其时区.现在我希望日期显示在网站的时区.因此,如果我将日期存储为"2009-04-01 15:36:13",则应在PDT时区(-7小时)内为用户显示为"2009-04-01 08:36:13" .
通过PHP执行此操作的最简单(最少代码)方法是什么?到目前为止,我所想到的只是
date('Y-m-d H:i:s', strtotime($Site->getUTCOffset() . ' hours', strtotime(date($utcDate))));
Run Code Online (Sandbox Code Playgroud)
有更短的方式吗?
我需要基于每个用户加密我的Web应用程序中的内容.
我,root用户,不希望访问用户的内容,期间.
我怎样才能使用户是唯一可以访问其内容的用户?也许我可以这样做,因此他们的登录密码的哈希充当加密和解密密钥(然后他们的密码在我的数据库中存储单向散列,并且加密/解密散列是在登录时从他们的原始密码生成并存储在一个本地的cookie)?但如果他们更改密码怎么办?然后我必须更新所有可能需要大量处理能力的内容.
是否有一种加密方法可以提供此功能,而无需在密码更改时重新加密其内容?或许类似于Linux上的ecryptfs?研究ecryptfs是一个好的起点吗?
是这样只有用户可以访问我的服务器上的内容(甚至不是我)甚至可行吗?
我在某人的代码中看到了这一点:this.$('.selector')我很好奇它是做什么的."这个"是一个Backbone视图.那么为"这个"添加前缀的是什么呢.一个jQuery选择器,在给定的上下文中,做什么?
我的Backbone应用程序有几个视图,其中包含带有文本输入的表单选择字段和复选框.应使用我的API中的数据填充选择字段.给定的选择字段可以以多种不同的形式重用.
填充这些下拉菜单的常用方法是什么?这是我一起装配的解决方案...... 有更常见的方法吗?
一个可重用的选择字段,用于填充自己... app/views/shared/location_selection.js:
define([
'jquery',
'backbone',
'app/views/base',
'app/collections/location'
], function($, Backbone, BaseView, LocationCollection) {
'use strict';
return BaseView.extend({
initialize: function(options) {
this.options = options || {};
this.options.id = this.options.id || 'location';
this.options.showBlank = typeof this.options.showBlank != 'undefined' ? this.options.showBlank : false;
this.collection = new LocationCollection();
},
render: function() {
this.setElement('<select id="' + this.options.id + '"></select>');
var self = this;
this.collection.fetch({
success: function() {
if (self.options.showBlank) {
self.$el.append('<option></option');
}
self.collection.each(function(model) {
self.$el.append('<option value="' + model.get('id') + '">' + model.get('name') …Run Code Online (Sandbox Code Playgroud) 我想预编译我的Handlebars模板,但我不确定它在开发模式下是如何工作的.
通常的做法是有一些像Guard一样的后台进程来持续监控Handlebars模板文件的变化吗?
我正在使用RequireJS来提取模板; 例如:
define(['jquery', 'handlebars', 'text!templates/my_template'], function($, Handlebars, myTemplate) {
// ...
var data = {"some": "data", "some_more": "data"};
var templateFn = Handlebars.compile(myTemplate);
$('#target').append(templateFn(data));
// ...
});
Run Code Online (Sandbox Code Playgroud)
所以我理解一旦模板被预编译,就可以这样做:
define(['jquery', 'handlebars'], function($, Handlebars) {
// ...
var data = {"some": "data", "some_more": "data"};
var template = Handlebars.templates['my_template'];
$('#target').append(template(data));
// ...
});
Run Code Online (Sandbox Code Playgroud)
请注意以下有关第二个代码段中的内容:
因此,只要文件系统级修改发生在模板文件中,我通常会运行Guard以保持模板编译?
基本上我的问题是,开发人员打算这样做吗?
if (development) {
compile templates
}
else {
use precompiled templates
}
Run Code Online (Sandbox Code Playgroud)
我也在使用Rails,所以也许有一些黑魔法像sass-rails.
我是AngularJS的新手,正在创建一个使用Grunt构建的应用程序.
当我构建并运行我的应用程序时,我注意到与依赖项加载顺序相关的一些问题:
Uncaught Error: [$injector:nomod] Module 'mycompany.admin.forms' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.2.13/$injector/nomod?p0=mycompany.admin.forms
Run Code Online (Sandbox Code Playgroud)
在构建的app文件中,模块在声明之前正在使用:
angular.module('mycompany.admin.forms').controller('editController', ['$scope', function($scope) {
// ...
}]);
angular.module('mycompany.admin.forms', [])
.config(['$routeProvider', function($routeProvider) {
// ...
}]);
Run Code Online (Sandbox Code Playgroud)
以下是我项目的gruntfile.js中的相关片段:
grunt.initConfig({
distdir: 'build',
pkg: grunt.file.readJSON('package.json'),
src: {
js: ['src/**/*.js'],
},
concat: {
dist: {
src: ['<%= src.js %>', '<%= src.jsTpl %>'],
dest: '<%= distdir %>/admin/app.js'
}
} …Run Code Online (Sandbox Code Playgroud) javascript ×5
backbone.js ×2
activerecord ×1
angularjs ×1
build ×1
callback ×1
encryption ×1
express ×1
extjs ×1
forms ×1
gruntjs ×1
html-select ×1
https ×1
jquery ×1
node.js ×1
parent ×1
php ×1
requirejs ×1
scope ×1
ssl ×1
timezone ×1
validation ×1
yui ×1