我有一个案例,app.run向所有控制器发送广播消息,但在其中一些实际加载之前.因此他们没有抓住事件.
这是一个例子:
app.run(function($rootScope){
// I get this event too fast and GroupsCtrl still not ready
ionic.Platform.ready(function(){
// notify controllers on device ready
$rootScope.$broadcast('notifyCtrlOnDeviceReady', device);
});
});
Run Code Online (Sandbox Code Playgroud)
和控制器:
app.controller('GroupsCtrl', function($rootScope,$scope){
$scope.$on('notifyCtrlOnDeviceReady', function(event, device){
alert('notifyCtrlOnDeviceReady - done');
});
});
Run Code Online (Sandbox Code Playgroud)
我想在服务中创建一些标志,但它似乎是一种解决方法.
我还想创建一个$watch侦听服务标志并在所有控制器完成初始化时发送广播.
是否有更优雅的方式在加载时通知控制器?
谢谢,
我得到以下警告:
THREAD WARNING: exec()
call to MyPlugin.setAndroidPreferences blocked the main thread for 49ms.
Plugin should use CordovaInterface.getThreadPool().
Run Code Online (Sandbox Code Playgroud)
但是从我的代码中我使用cordova.getThreadPool():
private boolean setAndroidPreferences(
final JSONArray args,
final CallbackContext callbackContext)
{
cordova.getThreadPool().execute(new Runnable() {
@Override
public void run() {
try {
/* ... */
if ( /* ... */)
{
final SharedPreferences settings = cordova.getActivity().getSharedPreferences(preferenceLib, Context.MODE_PRIVATE);
final SharedPreferences.Editor editor = settings.edit();
editor.putString(preferenceName, preferenceValue);
editor.commit();
callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK));
} else { callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.ERROR));
}
} catch (JSONException e) {
e.printStackTrace();
Log.e(TAG, "getSetSharePreferences" + …Run Code Online (Sandbox Code Playgroud) 我使用以下命令安装了PERL 的JSON:
sudo perl -MCPAN -e 'install JSON'
Run Code Online (Sandbox Code Playgroud)
但我无法使用它,use JSON;导致错误:
在@INC中找不到JSON.pm(您可能需要安装JSON模块)
(@INC包含:/Library/Perl/5.18/darwin-thread-multi-2level
/Library/Perl/5.18
/Network/Library/ Perl/5.18/darwin-thread-multi-2level
/Network/Library/Perl/5.18 /Library/Perl/Updates/5.18.2
/System/Library/Perl/5.18/darwin-thread-multi-2level
/System/Library/ Perl/5.18
/System/Library/Perl/Extras/5.18/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.18 .) 位于
/Users/snaggs/Appsflyer/projects/build-machine-sdk/scripts /build_ios.pl 第 13 行。BEGIN 失败 - 编译在 /Users/snaggs/Appsflyer/projects/build-machine-sdk/scripts/build_ios.pl 第 13 行中止。
ls -l /Users/snaggs/perl5/perlbrew/perls/perl-5.16.0/lib/5.16.0/JSON/给我:
drwxr-xr-x 3 snaggs staff 102 Nov 29 12:53 PP
-r--r--r-- 1 snaggs staff 82532 Nov 29 12:53 PP.pm
Run Code Online (Sandbox Code Playgroud)
$ perl -V给我:
Summary of my perl5 (revision 5 version 16 subversion 0) configuration:
Platform:
osname=darwin, osvers=16.1.0, …Run Code Online (Sandbox Code Playgroud) 我有:
34.1classpath 'com.android.tools.build:gradle:3.0.1'当我只有一个模块并使用gradle工具2时,我使用了:
task makeJar(type: Copy) {
def releaseFolder = new File('build/intermediates/bundles/release/')
if (releaseFolder.exists()) {
from('build/intermediates/bundles/release/')
} else {
from('build/intermediates/bundles/default/')
}
into('build/outputs/jar/')
include('classes.jar')
rename ('classes.jar', 'MY-Android-SDK.jar')
}
Run Code Online (Sandbox Code Playgroud)
现在有3个模块:
MainModule (com.my)
/ \
(com.my.m1) Module1 Module2 (com.my.m2)
Run Code Online (Sandbox Code Playgroud)
我想MY-Android-SDK.jar从所有3个模块创建文件。
到目前为止,我将能够为每个模块创建3个jar文件,并以某种方式合并它们,但我认为这样做是不正确的。
有任何想法吗?
我有 4 个模板,但一个返回错误:"reject_reason": "invalid-sender".
我没有发现这个错误。在文档中。
我的帐户中有 4 个模板,当前模板具有以下结构:
contact-homeinfo@somecomp.comSOME_COMP++ 模板作为 HTML。
这是我从 API Logs 发送的请求:
完整请求
{
"template_name": "contact-home",
"template_content": [
{
"name": "example name",
"content": "example content"
}
],
"message": {
"dest_mail": "mymail@gmail.com",
"merge": "true",
"to": [
{
"email": "mymail@gmail.com"
}
],
"merge_vars": [
{
"rcpt": "mymail@gmail.com",
"vars": [
{
"name": "FNAME",
"content": "name"
}
]
}
]
},
"key": "XXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
Run Code Online (Sandbox Code Playgroud)
全面回应
[
{
"email": "abc@gmail.com",
"status": "rejected",
"_id": "a305475c544a4f12a52f5a2b205c2505", …Run Code Online (Sandbox Code Playgroud) 我有简单的课程:
class WmAttendee{
var mEmail:String!
var mName:String!
var mType:Int!
var mStatus:String = "0"
var mRelationShip:String!
init( email:String, name:String, type:Int) {
self.mEmail = email
self.mName = name
self.mType = type
}
convenience init( email:String, name:String, type:Int, status:String, relationShip:String) {
self.init(email: email, name: name, type: type)
self.mStatus = status
self.mRelationShip = relationShip
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试用5个参数测试第二个构造函数时,我得到: Extra argument 'status' in call
var att1 = WmAttendee(email: "myMail", name: "SomeName", type: 1); // OK
var att2 = WmAttendee(email: "mail2", name: "name2", type: 3, status: "2", …Run Code Online (Sandbox Code Playgroud) 我有以下要从联合运行的课程:
class WmBuildGroupsTask{
init(){}
func doInBackground() -> WmTransferItem{
NSThread.sleepForTimeInterval(20)// sleep 20 sec to simulate long task
}
func onPostExecute(transferItem:WmTransferItem){
//called when long task finished
}
func execute(){
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), {
var transItem:WmTransferItem = self.doInBackground()
dispatch_async(dispatch_get_main_queue(), {
self.onPostExecute(transItem)
});
});
}
}
Run Code Online (Sandbox Code Playgroud)
我试图从Unitest文件运行:
var task:WmBuildGroupsTask = WmBuildGroupsTask()
task.execute();
Run Code Online (Sandbox Code Playgroud)
但测试在doInBackground()方法完成之前完成.
如何使它工作?
我使用以下方法来获取日历的所有事件:
public Cursor getEventsCursor(Context context) {
long curr = System.currentTimeMillis();
long begin = curr - DateUtils.DAY_IN_MILLIS * 30; // - 30 days
long end = curr + DateUtils.DAY_IN_MILLIS * 30; // + 30 days
Cursor cur = null;
ContentResolver cr = context.getContentResolver();
String selection = Events.VISIBLE + "= ?";
String[] selectionArgs = new String[] {"1"};
String order = Events.DTSTART + " DESC";
Uri.Builder builder = Instances.CONTENT_URI.buildUpon();
ContentUris.appendId(builder, begin);
ContentUris.appendId(builder, end);
return cr.query(builder.build(), EVENT_PROJECTION,
selection, selectionArgs, order);
}
Run Code Online (Sandbox Code Playgroud)
它有效,但是我得到所有重复事件的初始时间!
日志
Feeder …Run Code Online (Sandbox Code Playgroud) 我有网格ui,其中单元格是有角度的材料md-autocomplete.
我编写了demo:我运行的codepen(仅用于模拟)ng-repeat并尝试每行选择不同的值.
但是,每当我更改一个项目时,所有其他行也会发生变化.我究竟做错了什么?
我的HTML:
<tr layout="row" ng-repeat="item in ctrl.items" flex>
<td class="sc_color" flex>{{$index+1}}.color</td>
<td flex>
<md-autocomplete style="margin-bottom:10px;"
md-selected-item="item.selectedItem"
md-search-text="ctrl.searchText"
md-items="item in ctrl.querySearch(ctrl.searchText)"
md-item-text="item.display"
md-min-length="0"
placeholder="Pick a color">
<md-item-template>
<span md-highlight-text="ctrl.searchText" md-highlight-flags="^i">{{item.display}}</span>
</md-item-template>
</md-autocomplete>
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我的items:
self.items = [
{
selectedItem: 'aa'
},
{
selectedItem: 'bbb'
}
];
Run Code Online (Sandbox Code Playgroud)
我使用md-selected-item但听起来像所有项目一样.
我尝试学习 Node.js (ES6) 但失败了 require
这是我的结构:
基础模型.js
"use strict";
class BaseModel {
constructor(options = {}, data = []) { // class constructor
this.name = 'Base'
this.url = 'http://azat.co/api'
this.data = data
this.options = options
}
getName() { // class method
console.log(`Class name: ${this.name}`)
}
}
Run Code Online (Sandbox Code Playgroud)
账户模型.js
"use strict";
require('./baseModel.js');
class AccountModel extends BaseModel {
constructor(options, data) {
super({private: true}, ['32113123123', '524214691']) //call the parent method with super
this.name += 'Account Model'
this.url +='/accounts/'
}
get accountsData() { //calculated attribute getter …Run Code Online (Sandbox Code Playgroud)