我正在使用Ext.dataview.DataView视图.我想在此数据视图中添加一个组件,它看起来像Ext.dataview.List中的grouper标头,以保持设计的一致性.我只想在头上应用一次这个组件(所以基本上只有一组).将视图更改为列表不是一种选择,因为它的复杂性会带来更多新问题.
我已经尝试过添加一个面板并应用x-list-header类,但这没有用.使组件看起来像列表的组头的最简单方法是什么?
Ext.define( 'app.view.myDataView', {
extend: 'Ext.dataview.DataView',
xtype: 'mydataview',
requires: [
'app.view.myItem',
'Ext.dataview.List'
],
config: {
title: "myDataView",
cls: 'myDataView',
defaultType: 'myitem',
grouped: true,
store: 'myStore',
useComponents: true,
disableSelection: true,
deferEmptyText: false,
itemCls: 'myItem',
items: [
{
xtype: 'toolbar',
layout: 'vbox',
docked: 'top',
cls: 'myToolbar',
items: [
{
// some toolbar items
}
]
},
{
xtype: 'component',
cls: 'x-list-header',
html: 'this is a test'
}
/*{
xtype:'panel',
scrollDock:'top',
docked:'top',
tpl: new Ext.XTemplate ('<div class="x-list-header-wrap x-list-header">this …Run Code Online (Sandbox Code Playgroud) 我正在开发一个Cordova混合应用程序,目前正在使用Sencha Touch 2在Windows 8.1上遇到问题.我在listitem上有一些带有一些子元素的div.我定义了一个点击监听器.这适用于Android和IOS,但这在使用Internet Explorer的Win8.1上不起作用.我总是得到上面列出的listitem-element而不是点击的div-container.
这是简化的例子:
视图:
Ext.define( 'App.view.MyDataView', {
xtype: 'mydataview',
extend: Ext.dataview.List ,
config: {
inline: false,
title: "myTitle",
scrollToTopOnRefresh: false,
cls: 'MyDataView',
itemCls: 'MyDataViewItem',
pressedCls: 'MyDataViewItemPressed',
grouped: true,
listeners: {
tap: {
element: 'element',
//delegate: '.something',
fn: function (e)
{
console.log(e.target.className)
}
}
},
deferEmptyText: false,
infinite: true,
variableHeights: true,
itemTpl: new Ext.XTemplate(
[
'<div class="red" style="background-color:red;width:50%">',
'red',
'<div class="black" style="background-color:black;width:80%">',
'<div class="blue" style="background-color:blue;width:30%">blue</div>',
'black</div>',
'</div>'
].join( '' ),
{
compiled: true,
getInteractable: function() {},
//some member …Run Code Online (Sandbox Code Playgroud) javascript internet-explorer sencha-touch cordova windows-8.1
我正在开发一个可能连接到不同服务器的混合cordova应用程序.其中一些确实需要客户证书.
在Android手机上安装相应的根证书+客户端证书.
在Chrome浏览器上,我得到以下对话框,为Web连接选择相应的客户端证书.

使用cordova插件cordova-client-cert-authentication,在WebView中弹出相同的Http(s)请求对话框.
我的问题是如何在原生Android平台上实现Http(s)请求的自动证书选择,而无需明确声明相应的客户端证书.或者有类似用户选择的证书,如Chrome上实现的?
这是当前实现,它会抛出握手异常:
try {
URL url = new URL( versionUrl );
HttpsURLConnection urlConnection = ( HttpsURLConnection ) url.openConnection();
urlConnection.setConnectTimeout( 10000 );
InputStream in = urlConnection.getInputStream();
}
catch(Exception e)
{
//javax.net.ssl.SSLHandshakeException: Handshake failed
}
Run Code Online (Sandbox Code Playgroud) 我正在使用Sencha 2.3.0,我希望将一个XTemplate与ListItem上的组件(文本字段)并排放置.上面的代码适用于DataView/DataItem,但我想使用仅在List/ListItem上可用的分组属性.
嵌套的Xtemplate被渲染为DataItem.如何让它适用于ListItem?我也接受放弃这个嵌套结构的解决方案,并直接在ListItem上使用xtemplate作为tpl属性(当然也必须实现带有监听器的文本字段).
名单
Ext.define( 'app.view.myList', {
//extend: 'Ext.dataview.DataView',
extend: 'Ext.dataview.List',
xtype: 'mylist',
requires: [
'app.view.MyItem'
],
config: {
title: "myTitle",
cls: 'mylist',
defaultType: 'myitem',
grouped: true,
store: 'myStore',
useComponents: true,
itemCls: 'myitem',
items: [
{
// some components
}
]
}
});
Run Code Online (Sandbox Code Playgroud)
项目清单
Ext.define( 'app.view.myItem', {
//extend: 'Ext.dataview.component.DataItem',
extend: 'Ext.dataview.component.ListItem',
xtype: 'myitem',
config: {
cls: 'myitem',
items: [
{
xtype: 'component',
tpl: new Ext.XTemplate([
'<table cellpadding="0" cellspacing="0" class="myitemXTemplate">',
//some xtemplate content
'</table>'
].join( "" ),
{
compiled: true
}) …Run Code Online (Sandbox Code Playgroud) 我有一个包含Web Worker实现(通过 生成ng generate webWorker)的 Angular 应用程序。
我想将给定的网络工作者标记为 preloading,如下所示:
索引.html
<!DOCTYPE html>
<html lang="en">
<head>
...
<link rel="prefetch" href="worker.js" />
...
</head>
....
</html>
Run Code Online (Sandbox Code Playgroud)
问题是worker.js文件的名称是通过 Angular CLI 生成的,例如0.7841408a8c7c04e45900.worker.js(捆绑自worker.ts)
有没有办法将文件名的占位符放入 index.html,在构建时由实际文件名替换?
我有一些奇怪的错误,有时会出现在我的Windows Phone 8.1 512MB RAM仿真器上的WinJS应用程序中.我无法在其他仿真器实例或设备上重现它.
执行通过promise链运行并完成以下return语句:
return ( currentUpload = uploadOperation.startAsync() );
Run Code Online (Sandbox Code Playgroud)
之后没有任何反应.我在.then定义的所有三个函数(成功,失败,待定)中设置了断点.当发生这种奇怪的情况时,这三个功能代码都不会到达.
我还把这个return语句放在try catch块上,但是没有异常可以捕获.
代码的简短说明:
创建后台上传器实例(自定义标头+ PUT方法)
StorageFile由URI打开
后台上传器准备上传该文件(uploadOperation的定义)
uploadOperation将开始
看完整代码:
var currentUpload; // global
function uploadFile(localFullPath, headers, serverUrl)
{
var fileUri = new Windows.Foundation.Uri('ms-appdata:///local' + localFullPath),
uploader = false;
try
{
uploader = new Windows.Networking.BackgroundTransfer.BackgroundUploader();
uploader.method = 'PUT';
// set headers to uploader
for (var key in headers)
{
if (headers.hasOwnProperty(key))
uploader.setRequestHeader(key, headers[key]);
}
}
catch (e)
{
// error handling
return false;
}
Windows.Storage.StorageFile.getFileFromApplicationUriAsync(fileUri)
.then(function success(file)
{ …Run Code Online (Sandbox Code Playgroud) 我的应用程序每次从Samsung Knox工作模式切换到私有模式时都会被杀死.
亚行日志:
04-25 16:25:41.868 2945-3700/? I/ActivityManager: Killing 24549:com.myapp.name/u100a171 (adj 10): cached #2
04-25 16:25:41.988 2945-3118/? W/InputDispatcher: channel '354a1caa com.myapp.name/com.myapp.name.app (server)' ~ Consumer closed input channel or an error occurred. events=0x9
04-25 16:25:41.988 2945-3118/? E/InputDispatcher: channel '354a1caa com.myapp.name/com.myapp.name.app (server)' ~ Channel is unrecoverably broken and will be disposed!
04-25 16:25:42.038 2945-3614/? W/InputDispatcher: Attempted to unregister already unregistered input channel '354a1caa com.myapp.name/com.myapp.name.app (server)'
04-25 16:25:42.038 2945-3614/? I/WindowState: WIN DEATH: Window{354a1caa u100 com.myapp.name/com.myapp.name.app}
Run Code Online (Sandbox Code Playgroud)
这种行为可能是什么原因?
这可能与AndroidManifest上的单个任务的定义有关,因为Knox试图在个人模式上重启?
<activity android:launchMode="singleTask" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|uiMode" ...>
Run Code Online (Sandbox Code Playgroud)
由于安装/卸载区域,是否与存储问题有关?
使用Samsung Knox …
我正在尝试在Linux/Ubuntu 14.04 for Android上构建一个默认的示例应用程序.
我在做sudo ionic build android时收到标准错误信息:
无法找到'ANDROID_HOME'环境变量.尝试手动设置.
(见下面的完整记录)
但如果我这样做
echo $ ANDROID_HOME && echo $ JAVA_HOME && echo $ ANT_HOME
/家庭/ user3123726 /安卓/ SDK
/ usr/lib中/ JVM/JAVA -8-预言
在/ usr /斌/蚂蚁
并且命令android和cordova也可用.
ANDROID_HOME也在.bashrc上定义:
export ANDROID_HOME =/home/user3123726/Android/Sdk
export PATH = $ {PATH}:/ home/user3123726/Android/Sdk/platform-tools:/ home/user3123726/Android/Sdk/tools
我不知道构建过程失败的原因是什么.任何帮助表示赞赏 - 谢谢!
这里是离子项目创建的完整日志(基本上是创建,添加平台和构建):
离子启动myApp选项卡
下载:https://github.com/driftyco/ionic-app-base/archive/master.zip
[=============================] 100%0.0s
下载:https://github.com/driftyco/ionic-starter-tabs/archive/master.zip
[=============================] 100%0.0s
更新了hooks目录以具有执行权限更新Config.xml初始化cordova项目
您的离子项目已准备就绪!一些快速提示:[...缩短]
cd myApp …
我面临的问题是,向订阅的Collection添加数据不会自动刷新集合中显示的元素.如果我添加一个新元素,元素会显示一秒钟,然后消失!刷新浏览器(F5)并显示新元素.我将订阅放入Meteor.autorun,但事情保持不变.
lists.html(客户端):
<<template name="lists">
<div class="lists col-md-12" {{!style="border:1px red solid"}}>
<!-- Checklist Adder -->
<form id="list-add-form" class="form-inline" role="form" action="action">
<div class="col-md-6">
<input class="form-control" id="list-name" placeholder="Neue Liste" required="required"/>
</div>
<button type="submit" class="btn btn-primary" id="submit-add">
<span class="glyphicon glyphicon-plus-sign"></span>
Neue Liste
</button>
</form>
<!-- Checklist Ausgabe -->
<ul>
<br/>
{{#each lists}}
<li style="position: relative;" id="{{this._id}}" data-id="{{_id}}" class="clickOnList">
<!--<input type="button" class="deleteLists" id="{{this._id}}" value="-" style="z-index: 999;"/> -->
<span id="{{this._id}}" data-id="{{_id}}" style="padding-left: 10px; vertical-align:middle;">{{this.name}}</span>
<form id="changerForm_{{_id}}" class="changeList-name-form" data-id="{{_id}}" style="visibility: hidden; position: absolute; top:0;">
<input id="changerText_{{_id}}" type="text" …Run Code Online (Sandbox Code Playgroud) 是否可以注册一个用 TypeScript 编写的 ServiceWorker @angular/service-worker?
当前在app.module.ts 中注册 service worker 如下所示:
ServiceWorkerModule.register('ngsw-worker.js', {
enabled: environment.production
})
Run Code Online (Sandbox Code Playgroud)
是否有可能以某种方式注册一个ngsw-worker.ts?
至少这对于 Angular 中的网络工作者来说是可能的:
const worker = new Worker('../my-worker.worker', {
type: 'module'
});
Run Code Online (Sandbox Code Playgroud)
我的worker.worker.ts
/// <reference lib="webworker" />
import {someMethod} from './some-method';
addEventListener('message', ({ data }) => {
const response = `worker response to ${data}`;
postMessage(response);
someMethod();
});
Run Code Online (Sandbox Code Playgroud)
任何帮助表示赞赏 - 谢谢
javascript ×4
android ×3
angular ×2
cordova ×2
build ×1
java ×1
meteor ×1
mongodb ×1
preload ×1
promise ×1
samsung-knox ×1
sencha-touch ×1
ssl ×1
templates ×1
typescript ×1
ubuntu ×1
windows-8.1 ×1
winjs ×1