小编Ada*_*hts的帖子

在Ember 1.13及更高版本中,当迭代字符串数组时,我应该使用哪个键?

在Ember 1.13中,以下代码生成警告:

{{#each widgetNames as |widgetName|}}
  {{component widgetName removeWidget="removeWidget"}}
{{/each}}
Run Code Online (Sandbox Code Playgroud)

其中widgetNames是父控制器中的字符串数组.

widgetNames: []
Run Code Online (Sandbox Code Playgroud)

在恩伯1.13我现在得到这个警告:

警告:在{{each}}未指定密钥的情况下使用可能会导致异常行为.请指定一个key标识正在迭代的每个项目的唯一值.例如{{each model key="@guid" as |item|}}.

这很容易修复您典型的模型场景,但如何为字符串数组指定键?

编辑:当迭代字符串数组时,此问题处理您现在在Ember 1.13中获得的警告.如果你点击这个警告你没有明确地寻找@index参数,比如在emberjs中的#each中访问索引.事实上,Artych的答案显示了两个可能的使用密钥,这些密钥与emberjs中#each中的访问索引的答案不相关或存在,因为这是@index参数本身特有的.

ember.js ember-cli

18
推荐指数
1
解决办法
2986
查看次数

Swift返回错误'二进制运算符==不能应用于两个EKSourceType操作数'

我在Xcode 6.3中有这样的代码:

let store = EKEventStore()

for source in store.sources() {
    let st: EKSourceType = source.sourceType!
    if st == EKSourceTypeLocal {
        localSource = source;
    }
}
Run Code Online (Sandbox Code Playgroud)

第五行(如果st ..)给出编译器错误:'二进制运算符==不能应用于两个EKSourceType操作数'

如何检查源是否是本地的(在Swift中)并将其编译?

ios swift ios8

5
推荐指数
1
解决办法
6034
查看次数

从回调emberjs嵌套组件中访问"this"作为父级

我有一个父组件,其模板包含来自https://www.npmjs.com/ember-cli-dropzonejs的dropzone组件:

{{drop-zone url='#' addRemoveLinks=true success=fileReceived}}
Run Code Online (Sandbox Code Playgroud)

在父控制器中,我有一个调用的方法fileReceived,当成功事件在dropzone上触发时调用该方法.但是,我想在调用方法时调用存储在控制器上的其他方法fileReceived但我无法访问this.我尝试设置所谓的实例变量selfthisdidInsertElement,但它给我的窗口,而不是我的分量.

这是我的父组件控制器:

import Ember from 'ember';

export default Ember.Component.extend({
  self:null,
  didInsertElement:function()
  {
    this.set('self', this);
  },
  fileReceived: function (file) {
    //Validate sheet

    this.sendAction('doStuff', file); //"this" returns a dropzone object instead of parentObject
    //this.doStuff(file);
  },
  actions: {
    doStuff: function (file) {
      //do stuff with the file
  }
});
Run Code Online (Sandbox Code Playgroud)

ember.js dropzone.js

5
推荐指数
1
解决办法
723
查看次数

在.NET Core 2中使用Microsoft.AspNetCore.All时会遇到什么问题?

建议Microsoft.AspNetCore.All在.NET Core 2中使用,因为它简化了依赖关系,并使用树振动器魔法来不会破坏您发布的内容.

我遇到了一个问题:使用引用的库时StackExchange.Redis,我最终将引发冲突作为Microsoft.AspNetCore.All引用内容StackExchange.Redis.StrongName.请参阅问题VS.NET 2017强制使用ASP.NET 2.0 Core应用程序中的StackExchange.Redis 1.2.4.0获取更多信息.如果我坚持单独引用依赖项,那么我可以避免这种冲突并编译.

除了在你不使用的东西之间发生冲突之外Microsoft.AspNetCore.All,由于这个建议,你会遇到哪些其他问题?

.net-core

5
推荐指数
1
解决办法
286
查看次数

从Polygon SqlGeographys创建MultiPolygon SqlGeography

我有一个多边形的SqlGeographys列表.我想将它们组合成一个多面体类型的SqlGeography.

List<SqlGeography> areaPolygons = GetAreaPolygons()
SqlGeography multiPoly = null;

foreach (SqlGeography geog in areaPolygons)
{
    /// Combine them somehow?
}
Run Code Online (Sandbox Code Playgroud)

c# sqlgeography

4
推荐指数
1
解决办法
1071
查看次数

如何仅使用Ember中的路线对模型进行排序?

在过去,您可以使用ArrayControllers(在1.13.0中弃用),我们知道不会在ember中推荐使用不久的控制器.目前是否可以仅使用我的路线对模型进行排序?

/routes/orders.js

import Ember from 'ember';

export default Ember.Route.extend({
  model: function() { return this.store.findAll('order'); }
});
Run Code Online (Sandbox Code Playgroud)

我如何按"名称"排序作为示例,但仅使用路线?

请注意,此问题类似于如何在Ember.js中对模型进行排序? - 但它是通过任何方法,而我的问题是特定的只使用路线(如果可能).

ember.js

4
推荐指数
1
解决办法
2415
查看次数

Ember数据显示模板中hasMany关系的长度,而不下载该关系的所有对象

我的产品型号有很多价格.我有一个页面显示产品名称,代码,然后显示它的价格数量,即:

<tbody>
  {{#each model as |product id|}}
  <tr>
    <td>{{#link-to "product" product}}{{product.name}}{{/link-to}}</td>
    <td>{{product.code}}</td>
    <td>{{product.prices.length}}</td>
  </tr>
  {{/each}}
</tbody>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,使用product.price.lengthEmber数据会产生数千个按ID获取价格的请求.我不需要任何有关此页面上实际价格的信息.如果没有Ember数据下载所有价格,我怎么能在这里使用长度属性?

车型/ product.js:

export default DS.Model.extend({
  code: DS.attr('string'),
  name: DS.attr('string'),
  prices: DS.hasMany('price', {async: true})
});
Run Code Online (Sandbox Code Playgroud)

车型/ price.js

export default DS.Model.extend({
  product: DS.belongsTo('product', {async: true}),
  value: DS.attr('number'),
  minUnits: DS.attr('number'),
  maxUnits: DS.attr('number')
});
Run Code Online (Sandbox Code Playgroud)

ember.js ember-data

4
推荐指数
1
解决办法
757
查看次数

Ember组件:在didInsertElement钩子弃用中修改了X的属性,该组应该放在哪里?

完整的弃用消息是 DEPRECATION: A property of <orders-app@view:test-holder::ember3010> was modified inside the didInsertElement hook. You should never change properties on components, services or models during didInsertElement because it causes significant performance degradation.

为了简化场景,我们假设我们有一个带有输入框的组件,我们希望将文本框日期设置为今天加上几天numberOfDays.因此,如果今天是2015年1月3日,numberOfDays=2那么文本框值应该是05-01-2015(假设我们想要DD-MM-YYYY格式化).所以我们的设置可能是:

日期shower.hbs

{{input type="text" value=dateInput}}
Run Code Online (Sandbox Code Playgroud)

部件/日期shower.js

export default Ember.Component.extend({
  didInsertElement: function() {
    var numberOfDays = this.get('numberOfDays');
    var dayToUse = new Date(); // today
    dayToUse.setDate(dayToUse.getDate() + numberOfDays);

    this.set('dateInput', moment(nextDay).format('DD-MM-YYYY'));
  }
});
Run Code Online (Sandbox Code Playgroud)

然后我们可能会使用类似的东西

{{date-shower numberOfDays=2}}
Run Code Online (Sandbox Code Playgroud)

当组件计算其属性本身的默认值时,基于传递给它的属性,我应该使用什么钩子而不是didInsertElement来阻止弃用消息?

ember.js

3
推荐指数
1
解决办法
1991
查看次数

使用sendSynchronousRequest时,在ios中获取http响应代码

我有一个工作的http GET,没有使用任何第三方位,我是iOS的新手,所以这是最初设置的困难.我的代码看起来像:

-(NSString *) SendGetRequestToRest:(NSString *)urlEndString
{

NSString *userName = @"userN";
NSString *password = @"PassW";

NSString *urlBaseString = @"http://someurl.co.uk/";

NSString *urlString = [NSString stringWithFormat:@"%@%@", urlBaseString, urlEndString];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];

[request setURL:[NSURL URLWithString:urlString]];

[request setHTTPMethod:@"GET"];

NSString *str1 = [NSString stringWithFormat:@"%@:%@", userName, password];
NSString *encodedString = [self stringByBase64EncodingWithString:str1];
[request addValue:[NSString stringWithFormat:@"Basic %@",encodedString] forHTTPHeaderField:@"Authorization"];

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

NSString *str = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];
NSLog(@"str: %@", str);

return str;

}
Run Code Online (Sandbox Code Playgroud)

我需要做的是跟踪http GET的状态代码是不是很好200,我看到如何检查iOS中的Web服务器的状态?这看起来很有希望,即添加:

-(void)connection:(NSURLConnection *)connection …
Run Code Online (Sandbox Code Playgroud)

iphone ios

2
推荐指数
1
解决办法
1万
查看次数

在Ember路线中,如何检查是否存在动作?

在组件中,为组件提供可选操作非常容易.在组件的JS中我可以写:

if (this.get('someAction')) {
  this.sendAction('someAction');
}
Run Code Online (Sandbox Code Playgroud)

在我的应用程序路由中,我有一个"通用操作",可以节省我提供带有长动作列表的窗口小部件组件,它看起来像这样:

genericAction: function(customActionName, customActionParams) {
  this.send(customActionName, customActionParams);
}
Run Code Online (Sandbox Code Playgroud)

由于各种原因(包括在某些组件中使用genericAction来触发测试可以订阅的操作,但是应用程序不一定用于某些难以测试的异步/伪装工作流程)我宁愿检查操作是否存在,即:

genericAction: function(customActionName, customActionParams) {
  if (this.get(customActionName)) {
    this.send(customActionName, customActionParams);
  }
}
Run Code Online (Sandbox Code Playgroud)

与组件中的方式类似,但这不起作用,也不起作用this.controller.get(customActionName).

除了保留硬编码的动作列表之外,我该如何实现这一目标?

ember.js

2
推荐指数
1
解决办法
1227
查看次数

无法使用解析库:解析链接器警告:文件是为不支持的文件格式构建的

结果是未加载符号,因此我无法使用Parse,尝试插入#import会导致找不到文件错误。我遵循了Parse网站上现有项目的快速入门指南,并添加了所需的所有库(例如AudioToolbox Framework等),所以这不是问题。

我得到的确切警告是:

ld:警告:忽略文件/Users/XXXXXXX/Documents/YYYYYYYY/Parse.framework/Parse,文件是为不受支持的文件格式而构建的(0x56 0x65 0x72 0x73 0x69 0x6F 0x6E 0x73 0x2F 0x43 0x75 0x72 0x72 0x65 0x6E不是xx74)链接的体系结构(i386):/ Users / XXXXXXX / Documents / YYYYYYYY / Parse.framework / Parse

该项目是在Xcode 5.02中创建的,并且针对ios 6.1,请告知是否需要其他信息。我下载了Parse入门项目,并且构建良好,但是似乎已设置了一些自定义体系结构,所以也许有一个构建设置可以尝试在项目中进行更改?

iphone xcode ios parse-platform ios7

0
推荐指数
1
解决办法
3890
查看次数

OrderBy使用LINQ在列表的开头和结尾之间交替

假设我有一个清单{1,3,5,7,9,11}

我想使用像这样的代码浏览列表

foreach (int myInt in myIntList.OrderBy(...))
{
    /// Do stuff
}
Run Code Online (Sandbox Code Playgroud)

但是这里的顺序是1然后是11然后是3然后是9然后是5然后7.如何按顺序执行此操作?

我的实际情况稍微复杂一点,for循环看起来像这样:

foreach (Tuple<string, int, int, int> im in iconMappings.OrderBy(i => i.Item4).ThenByDescending(i => i.Item3))
{
    // Do stuff
}
Run Code Online (Sandbox Code Playgroud)

因此,如上所述对它们进行排序我需要获得交替元素,因此理想情况下应该可以应用于此.

c# linq

0
推荐指数
1
解决办法
378
查看次数