小编ari*_*nmz的帖子

如何对通用函数进行类型定义?

我有一个通用的静态方法,如下所示:

static build<K>() {
    return (GenericClass<K> param) => MyClass<K>(param);
}
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经尝试过:

typedef F = MyClass<K> Function(GenericClass<K> param);
Run Code Online (Sandbox Code Playgroud)

但它说:

The return type '(GenericClass<K>) ? MyClass<K>' isn't a '(GenericClass<dynamic>) ? MyClass<dynamic>', as defined by the method 'build'.

typedef F = SimpleViewModel<K> Function<k>(Store<K> param);
Run Code Online (Sandbox Code Playgroud)

其中说:

The return type '(GenericClass<K>) ? MyClass<K>' isn't a '<K>(GenericClass<K>) ? MyClass<K>', as defined by the method 'build'.

MyClass 看起来像这样:

class MyClass<T> {
  final GenericClass<T> param;

  MyClass(this.param);


  static build<K>() {
      return (GenericClass<K> param) => MyClass<K>(param);
  }
}
Run Code Online (Sandbox Code Playgroud)

那么,什么才是有效 …

dart dart-2

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

将表行&lt;tr&gt;放在&lt;a&gt;标记内在语义上是否正确?

该表包含有关一组特定元素的数据,我希望该行的每个字段或所有行一起允许用户访问每个元素的详细信息。问题是我不知道如何进行,我要么:

将整行放在内<a>

<table>
    <a href=""><tr>…</tr></a>
    <a href=""><tr>…</tr></a>
    …
</table>
Run Code Online (Sandbox Code Playgroud)

或者只是将每个单元格的所有内容放入<a>

<table>
    <tr>
        <td><a href="">…</a></td>
        <td><a href="">…</a></td>
    </tr>
    …
</table>
Run Code Online (Sandbox Code Playgroud)

当然我更喜欢第一个,但是我不知道是否这样做是正确的。

这是我想到的用锚标记包围行的想法之一:

HTML5:用A来包装块级元素

更新:

我想我必须对此更加清楚一点,该表保存的数据可以显示系统中的概览Users

+----+------+-------+
| Id | Name | Score |
+----+------+-------+
| 1  | Foo  | 10    |
| 2  | Bar  | 8     |
| 3  | Baz  | 5     |
| …  | …    | …     |
| n  | Zzz  | 0     |
+----+------+-------+
Run Code Online (Sandbox Code Playgroud)

因此,我认为使用表格是正确的,但是每个用户都有3个以上的相关信息字段,因此我将使用链接来获取每个用户的详细信息(超过15个字段),否则这些内容将无法显示在单个信息上表格上的行(例如2048个字符以上的“注释”字段);这就是为什么我想到了显示指向每个用户细节的链接的想法。当然,我不在乎整个行是否都可单击,我只想通过不必将每个字段的所有数据都括入来清除代码<a>。另一个解决方案是创建一个额外的单元格来专门保存指向用户详细信息的链接,如下所示:

+----+------+-------+-------------------------+
| …
Run Code Online (Sandbox Code Playgroud)

html semantics

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

在javascript和PHP之间发送JSON字符串的正确方法是什么?

我试图使用XMLHttpRequest和json字符串将一小段数据从javascript发送到PHP脚本来处理它并再次以Json字符串的形式返回一些响应,但我遇到了大量的问题和不同的方法只是不能正常合作,这是迄今为止的工作:

客户

json_string = '{"foo":"1","bar":"2"}';

var r = new XMLHttpRequest();
r.open('post', 'script.php', true);
r.setRequestHeader('Content-type','application/json; charset=utf-8');
r.setRequestHeader('Content-length', json_string.length);
r.setRequestHeader('Connection', 'close');
r.onload = function () {
    console.log(this.responseText);
};
r.send(json_string);
Run Code Online (Sandbox Code Playgroud)

服务器

$json = file_get_contents('php://input');

echo $json;
Run Code Online (Sandbox Code Playgroud)

它不能比这更简单,但我得到这个警告:

[09-Jan-2015 15:50:03 America/Mexico_City] PHP不推荐使用:自动填充$ HTTP_RAW_POST_DATA已弃用,将在以后的版本中删除.要避免此警告,请在php.ini中将'always_populate_raw_post_data'设置为'-1',然后使用php://输入流.在第0行的未知中

[09-Jan-2015 15:50:03 America/Mexico_City] PHP警告:无法修改标题信息 - 已在第0行以未知方式发送的标题

当然,响应文本如下所示:

推荐使用:自动填充$ HTTP_RAW_POST_DATA已弃用,将在以后的版本中删除.要避免此警告,请在php.ini中将'always_populate_raw_post_data'设置为'-1',然后使用php://输入流.在第0行的未知中警告:无法修改标题信息 - 已在第0行的 " 未知 "中发送的标题{"foo":"1","bar":"2"}"


我究竟做错了什么?为什么PHP会抱怨已发送的标头?

我正在使用PHP 5.6.

javascript php json

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

ToString的重载方法没有2个参数

我试图通过使用ToString方法将日期时间格式化为"c"形式的字符串:

string end = evt.End.DateTime.ToString("c", DataController.culture);
Run Code Online (Sandbox Code Playgroud)

DataController.culture是对有效文化对象的引用,evt是来自Google Calendar v3 API的Event对象.我确信DateTime属于DatetTime类,因为调试器在对象的类型中这样说.

但是我不断得到标题中提到的问题,为什么?即使MSDN文档显示如何使用该方法,但不知何故我不能:

Console.WriteLine(date1.ToString("d MMMM", 
                  CultureInfo.CreateSpecificCulture("es-MX")));
// Displays 29 agosto    
Run Code Online (Sandbox Code Playgroud)

.net c#

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

事件监听器不在锚点上工作

这可能是一个非常愚蠢的问题,但我现在很绝望.我正在尝试通过单击这样的锚来执行javascript函数:

<head>
<script type="text/javascript">
    function myFunction() {
        alert('It was clicked');
    }
    Anchor.addEventListener('click', myFunction, false);
</script>
</head>
…
<a href="#" id="Anchor">Click me</a>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

但是,这很好用:

<a href="javascript:myFunction()" id="Anchor">Click me</a>
Run Code Online (Sandbox Code Playgroud)

即使这样做:

<a href="#" onclick="myFunction()" id="Anchor">Click me</a>
Run Code Online (Sandbox Code Playgroud)

什么是正确的方法?我究竟做错了什么?比如这里jsfiddle.

额外信息:

我已经使用相同的方法设置了其他事件,但不知何故,锚是唯一不起作用的.例:

<script type="text/javascript">
    function aFunction() {
        AnElement.style.display = 'none';
    }
    window.addEventListener('load', aFunction, false);
</script>
Run Code Online (Sandbox Code Playgroud)

窗口加载完成后,元素完全隐藏.

javascript anchor

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

PHP PDO准备了语句字符串长度限制

我有一个问题,即生成的准备字符串的长度有限:

我的SQL语句是这样的:

INSERT INTO `empresa`
    (`nombre`, `calle`, `colonia`, `ciudad`, `estado`, `pais` `codigo_postal`, `telefono`, `email`)
    VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
Run Code Online (Sandbox Code Playgroud)

如果我使用bindParam(),bindValue()或者甚至在它execute(),它总是修剪某个长度并且我得到这个错误并不重要:

语法错误或访问冲突:1064

它抱怨...

正确的语法使用近' ,)VALUES(' ALGO", '1', '7', 'B', '公顷'在行2'codigo_postaltelefonoemail

如果我减少参数的长度,比如说,'algo'只有make 'al',那么错误是相同的,但是如果我只指定了一个或两个'ha'列,那么错误是相同的'hasd',所以完整的语句更短,它正确执行.我能做什么?解决方法是执行一个INSERT然后用另一个语句更新其字段,但这只是愚蠢的.

php pdo

-1
推荐指数
1
解决办法
1118
查看次数

标签 统计

javascript ×2

php ×2

.net ×1

anchor ×1

c# ×1

dart ×1

dart-2 ×1

html ×1

json ×1

pdo ×1

semantics ×1