编辑#2
不幸的是,我没有成功地纳入其中一个建议.已经很晚了,所以我要去睡觉了,但明天我会尝试更新.
我已经学会了如何使用*ngFor命令,但它看起来只适用于简单的数组.这是我试图迭代的代码.
import {Lesson} from './lesson';
export var LESSONS: Lesson[] = [
{
"idL": 1,
"subject": 'Chapter One',
"points": [
'picture story', 'spelling test', 'words'
]
},
{
"idL": 2,
"subject": 'Words',
"points": [
'words', 'bacon', 'proliferation'
]
}
]
Run Code Online (Sandbox Code Playgroud)
所以我试图访问称为"点"的第二个数组.我不认为它格式不正确,但我无法弄清楚如何访问它.
我确实读过有关angularJs的foreach命令,但是Angular2的文档没有显示这样的命令可用.
有什么建议?
所以我一直在构建一个使用Fetch API发出请求的应用程序.不幸的是,我认为Facebook文档中显示的代码(可能是?)不正确.
问题
启动应用程序时,Fetch会调用URL来提取JSON数据.
componentDidMount(){
return fetch(REQUEST_URL)
.then((response) => response.json())
.then((responseJson) => {
this.setState({
isLoading: false,
data: JSON.stringify(responseJson)
})
})
.catch((error) => {
console.error(error);
});
}
Run Code Online (Sandbox Code Playgroud)
这类似于Facebook文档提供的代码.
问题是,当我启动应用程序时,数据不会在渲染功能中呈现.
render() {
if (this.state.isLoading) {
return (
<View style={{flex: 1, paddingTop: 20}}>
<ActivityIndicator />
</View>
);
}
var data = this.state.data;
return this.renderData(data);
}
Run Code Online (Sandbox Code Playgroud)
至少,直到我点击/触摸屏幕后才会渲染.触摸屏幕后,数据呈现.否则,它只会处于永久的"加载"状态.
解?
我记得在过去的某个时候,我不得不将事件处理程序绑定到各自的控件(例如,this.handleClick = this.handleClick.bind(this))
这让我想到:承诺请求中的这个在哪里?这指向哪里?
componentDidMount(){
return fetch(REQUEST_URL)
.then((response) => response.json())
.then((responseJson) => {
this.setState({ <--- **Where are you going?**
isLoading: …Run Code Online (Sandbox Code Playgroud) 更新二
所以不幸的是,@Reza Torkaman Ahmadi 的想法最终没有实现。这是因为我们的程序有一个依赖于 get_queryset 的过滤函数,而在我们的视图中覆盖 get_queryset 方法会破坏该函数。
所以,我和我的搭档讨论了这个问题,这就是他想出的。
class OrderbyFilter(filters.OrderingFilter):
def get_ordering(self, request, queryset, view):
"""
Ordering is set by a comma delimited ?$orderby=... query parameter.
Extends the OrderingFilter of the django rest framework to redefine
ordering parameters to "asc" and "desc".
"""
params = request.query_params.get(self.ordering_param)
if params:
field_queries = [param.strip() for param in params.split(',')]
fields = []
for field_query in field_queries:
field_query = field_query.split()
if len(field_query) <= 2:
while "asc" in field_query:
field_query.remove("asc")
for i, field in …
我现在正在学习Ruby.在过去几年中使用Javascript,我熟悉While循环.但直到循环?我环顾四周,但找不到一个比另一个更好的坚实理由.
Ruby有"until",它被描述为另一种表达问题的方式.我看到它的方式,"while"迭代直到false,"until"迭代直到true.
我确信我编写的大多数程序都不需要重构速度.但是,我有时想深入了解一些细节.
两个循环之间是否存在速度差异?为什么Ruby中有"until"语法?为什么不坚持"同时?"
angular ×1
api ×1
arrays ×1
django ×1
fetch-api ×1
filtering ×1
javascript ×1
react-native ×1
ruby ×1
url ×1