小编Upv*_*ote的帖子

Angularjs资源构建错误的资源URL

资源:

angular.module('TicketService', ['ngResource'])
       .factory('Ticket', ['$resource', function($resource){
    var Ticket = $resource('/api/tickets/:id1/:action/:id2',
    {
        id1:'@id'
    }, 

    { 
        list: {
            method: 'GET'
        },
        listByOwner: {
            method: 'GET',
            params: {
                action:'owner',
                id1:"@id"
            }
        }
        update: {
            method: 'PUT',
            params:{}
        }
    }); 
    return ticket;
}]); 
Run Code Online (Sandbox Code Playgroud)

查询:

$scope.userTickets = Ticket.listByOwner({
    id :  $rootScope.user.id
}, function(){
    //success
}, function(response){});
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述

Angularjs构建了一个错误的URL,/api/tickets但它应该是/api/tickets/2/owner.有什么想法吗?

angularjs angularjs-resource

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

所有活动的BaseActivity都可能吗?

我希望在各种活动中分享方法和属性.例如

public class BaseActivity extends Activity
Run Code Online (Sandbox Code Playgroud)

将是另一项活动的父母

public class MainActivity extends BaseActivity
Run Code Online (Sandbox Code Playgroud)

但如果孩子活动是例如ListActivity,这是不可能的,对吧?我也需要ListActivity的基类吗?这将是冗余代码.

我可以将ListActivity转换为Activity,但这需要更多的代码.

有什么建议?

java android android-activity

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

使用Joda-Time获取会议记录

下面是zulu日期字符串:

2013-12-18T23:41:54.959Z
Run Code Online (Sandbox Code Playgroud)

我想将其转换为GMT并使用Joda-Time检索分钟.我构建以下方法:

public static int minutesFromDateString(final String s){
    DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm").withZone(DateTimeZone.forID("Europe/Berlin"));
    DateTime dt = formatter.parseDateTime(s);

    Calendar calendar = Calendar.getInstance();
    calendar.setTime(dt.toDate());

    return calendar.get(Calendar.MINUTE);
}
Run Code Online (Sandbox Code Playgroud)

但是这会返回错误:

12-22 16:04:11.940:E/AndroidRuntime(6433):java.lang.IllegalArgumentException:格式无效:"2013-12-18T23:41:54.959Z"格式错误为"13-12-18T23:41:54.959 Z"

任何想法都错了吗?

java time android date jodatime

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

片段未附加到onResume上的Activity

我有一个基本上工作正常的片段.在onResume方法中,当用户访问activity/fragment时,我执行api调用以获取新数据.

public void onResume(){
    super.onResume();

    //in pseudo
    do async call 
       success callback
          update ui

       failure callback
          update ui
}
Run Code Online (Sandbox Code Playgroud)

这在大多数情况下都可以正常工作.但是,在更新ui方法完成之前,当用户导航回父活动时遇到问题.更新ui只是设置了一些文本视图.

例如,当用户导航到活动并且片段上面调用onResume时.用户立即返回父活动.异步调用和更新ui尚未完成,我得到:

致命异常:主进程:com.project.foobar,PID:4405 java.lang.IllegalStateException:片段MyDetailFragment {41ebb478}未附加到Activity

这是在成功回调后的更新ui方法中引发的.我使用square的改造来管理api调用.再次,这恰好发生在更新ui尚未完成时.当我等待它完成并返回时一切都很好.

什么想法可能是错的?

java android android-fragments retrofit

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

尝试格式化日期,始终获得无效日期

用户从jquery datepicker中选择日期,它具有以下格式:

DD.MM.YYYY
Run Code Online (Sandbox Code Playgroud)

当用户提交表单时,我想使用时刻将日期输入转换为UTC.无论我对输入做什么,我都会收到Invalid Date错误.

例如输入

30.03.2014
Run Code Online (Sandbox Code Playgroud)

我尝试格式化:

console.log(moment(input).format('MM/DD/YY')); <-- prints Invalid Date
Run Code Online (Sandbox Code Playgroud)

我试着

console.log(moment(input).utc().toDate()); <-- prints invalid date
Run Code Online (Sandbox Code Playgroud)

看来那一刻无法解析输入,它可以解析MM.DD.YY格式,但输入必须有DD.MM.YYYY格式.

任何想法都错了吗?


运用

moment(input, 'DD.MM.YYYY')
Run Code Online (Sandbox Code Playgroud)

给我:

{ from: '01.03.2014', to: '30.03.2014' }
{ from: Sat Mar 01 2014 00:00:00 GMT+0100 (CET),
  to: Tue Apr 01 2014 11:00:00 GMT+0200 (CEST) }
Run Code Online (Sandbox Code Playgroud)

javascript node.js momentjs

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

C++,带有十六进制参数的sprintf

我试着理解下面的代码:

char temp[50];
sprintf(temp,"%04XT1000A",Edit3->Text.ToInt());
Run Code Online (Sandbox Code Playgroud)

我知道T1000A是一个简单的字符串,我知道它的含义,但是什么是%04X?%04X是否完全被参数替换?

c c++

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

在mongodb的聚合内调用函数?

采集:

[
    { _id: "Foo", flag1: false, flag2: true, flag3: false },
    { _id: "Bar", flag1: true, flag2: false, flag3: true }
]
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否可以在聚合查询中调用方法?

aggregate({
    $project: {
        '_id': 1,
        'status' MyService.getStatus($flag1, $flag2, $flag3)
    }
});
Run Code Online (Sandbox Code Playgroud)

如果可能的话,它的语法是什么?结果:

[
    { _id: "Foo", status: 'ok' },
    { _id: "Bar", status: 'broken' }
]
Run Code Online (Sandbox Code Playgroud)

在我的实际应用程序中,每个文档有10个布尔标志。如果用户获得了此文档,我想转换这些标志并给它们一个含义(对于用户)。例如认为文件代表轮胎。

flag1 = true means tire have good pressure, false means low pressure
flag2 = true means depth of tire profile is good, false means little profile
and so on …
Run Code Online (Sandbox Code Playgroud)

mongodb node.js mongodb-query aggregation-framework

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

Swift:数组内的字典

数据:

[
    { firstName: "Foo", lastName: "Bar" },
    { firstName: "John", lastName: "Doe" }
]
Run Code Online (Sandbox Code Playgroud)

如何使用 swift 数组和字典拥有这种结构?该数据显示数组内的字典,对吧?所以我建议:

var persons:Array = [Dictionary<String, String>()]
Run Code Online (Sandbox Code Playgroud)

但这给了我错误:

Cannot convert the expressions type () to type Array<T>
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

swift swift-dictionary swift-array

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

在python中使用enumerate()时从列表中删除元素

Object是一个解码的json对象,包含一个名为items的列表.

obj = json.loads(response.body_as_unicode())

for index, item in enumerate(obj['items']):
   if not item['name']:
       obj['items'].pop(index)
Run Code Online (Sandbox Code Playgroud)

我迭代这些项目,并希望在满足某个条件时删除项目.但是这没有按预期工作.经过一些研究后,我发现无法从列表中删除项目,同时在python中迭代此列表.但我无法将上述解决方案应用于我的问题.我尝试过一些不同的方法

obj = json.loads(response.body_as_unicode())
items = obj['items'][:]

for index, item in enumerate(obj['items']):
   if not item['name']:
       obj['items'].remove(item)
Run Code Online (Sandbox Code Playgroud)

但这会删除所有项目,而不仅仅是没有名称的项目.任何想法如何解决这个问题?

python loops

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

在 useEffect 中改变多个状态会导致 react-hooks/exhaustive-deps 警告

我在玩 React Hooks。单击按钮时,我想增加一个计数器。计数器递增后,应用程序不应允许进一步递增,直到 clicked 重置为 false。

我想出了这个:

function App() {
  const [counter, setCounter] = useState(0);
  const [clicked, setClicked] = useState(false);

  useEffect(() => {
    if (clicked) {
      setCounter(counter + 1);
      setTimeout(() => {
        setClicked(false);
      }, 2000);
    }
  }, [clicked]);

  return (
    <div className="App">
      <p>Clicked: {String(clicked)}</p>
      <p>Counter: {counter}</p>
      <button type="button" onClick={() => setClicked(true)}>
        Click me
      </button>
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

它确实有效。然而,React 抱怨以下警告:

React Hook useEffect 缺少一个依赖项:'counter'。包括它或删除依赖项数组。如果您只需要在 'setCounter' 调用中使用 'counter',您还可以执行功能更新 'setCounter(c => ...)'。(反应钩子/详尽的deps)

当我将计数器添加到依赖项时,useEffect 将进入无限循环,因为clicked为 true 并且 setCounter 是从 useEffect 中调用的。

我希望计数器仅在 …

reactjs

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