我想创建一个接口:
public interface OperandValue
{
<T> T getValue();
}
Run Code Online (Sandbox Code Playgroud)
我希望有一个像这样的具体实现:
public class NumberOperandValue implements OperandValue
{
@Override
public <Integer> Integer getValue()
{
// some integer value that is set elsewhere
return 1;
}
}
Run Code Online (Sandbox Code Playgroud)
Eclipse强调<Integer>给我一个警告说:
类型参数Integer隐藏了Integer类型
如果这可以以某种方式工作,我感谢任何建议.我意识到我可以在接口级别而不是方法级别定义泛型类型,但是如果可能的话,我想尝试使其工作.
我有一个容器和子指令,它们都会影响通过服务引用的数据.一般的想法是,我希望能够点击子指令,并根据以下规则"选择"它们.并且能够单击容器指令以清除选择.
基本规则是:
以上所有规则都非常简单易行.我遇到的主要麻烦是最后一条规则.单击容器实际上会将所选值设置为false,但是在下一个用户操作之前UI不会更新.让容器的click事件在$ apply中包装对服务的调用,"修复它".
.directive('myContainer', function (dataService) {
return {
restrict: 'A',
scope:{data:"="},
link:function(scope, element, attrs){
element.bind('click', function() {
scope.$apply(function() {
dataService.clearSelectedChildren();
});
});
}
};
})
Run Code Online (Sandbox Code Playgroud)
但是,我似乎已经准备好$ apply通常用于外部更新(在角度世界之外)到数据(即对远程服务器的异步调用)?那么,我是否滥用申请?如果是这样,我怎么能够实现我的目标呢?
这是一个有效的JSFiddle供参考.
我有一个页面上有几个jqGrids,还有一些其他字段.我想自己做一个AJAX调用,它会返回一个JSON对象,该对象具有应该用于填充整个页面的数据.
所以,我想自己调用,填充"其他字段",然后从返回的主JSON对象中拉出几个集合,并"手动"填充每个jqGrids与这些集合.
我有这么多工作,但我不能让jqGrid停止尝试自己发出一个AJAX请求.难道有没有办法告诉jqGrid在初始化时不尝试AJAX调用?
我在这里发现了一个类似的问题:如何从最初加载数据中抑制jqgrid?
但我没有为海报解决问题的选择.
对我来说似乎很合理,有些人可能想要使用这个插件,而不会让表在初始化时尝试获取自己的数据.我在文档(wiki - options)中的某个地方错过了一个选项吗?
谢谢.