问题描述
我将多个mat-tab-group组合成一个HTML页面,如:
<mat-card class="card-app-content">
<mat-tab-group [(selectedIndex)]="selectedIndex">
...
</mat-tab-group
</mat-card>
<mat-card class="card-app-content">
<mat-tab-group [(selectedIndex)]="selectedIndexMedia">
...
</mat-tab-group
</mat-card>
<mat-card class="card-app-content">
<mat-tab-group [(selectedIndex)]="selectedIndexHistory">
...
</mat-tab-group
</mat-card>
我的.ts包含:
selectedIndex : number = 0;
selectedIndexMedia : number = 0;
selectedIndexHistory : number = 0;
在第一个mat-tab-group中,索引0很好地选择了(第一个mat-tab是带下划线的),但对于另外两个,没有mat-tab是带下划线的,就像没有一个被选择:// >
这里是重现问题的https://stackblitz.com/edit/angular-oykb2e?file=app/tab-group-dynamic-example.html
例如, 工作中:
不起作用:
解决方法
我通过选中第二个标签上的 def submit_button(request):
question_desc = Challenge_Detail.objects.get(id = 1)
for i in range(1,3):
if (i==1):
if request.is_ajax():
source = request.POST['source']
lang = request.POST['lang']
data = {
'client_secret': 'secret key','async': 0,'source': source,'lang': lang,'time_limit': 5,'memory_limit': 262144,}
x = str(i1)
i1 = x.replace("qwe","\n")
data['input'] = i1
'''
if 'input' in request.POST:
data['input'] = request.POST['input']'''
r = requests.post(RUN_URL,data=data)
temp =(r.json().copy())
print(temp)
print(data)
global out_returned
if(temp["run_status"]["status"]!="CE"):
out_returned = temp['run_status']["output"]
time=time+float(temp['run_status']['time_used'])
space=space+int(temp['run_status']['memory_used'])
e = temp['compile_status']
print(e)
compare(out_returned,e1)
print(e1)
print(out_returned)
else:
error = (temp["compile_status"])
print(error)
ex = {"Problem" :error}
print(type(ex))
print(ex)
return JsonResponse(r.json(),safe=False)
else:
return HttpResponseForbidden()
if (i==2):
if request.is_ajax():
source = request.POST['source']
lang = request.POST['lang']
x = str(i2)
i2 = x.replace("qwe","\n")
data['input'] = i2
'''
if 'input' in request.POST:
data['input'] = request.POST['input']'''
r = requests.post(RUN_URL,data=data)
temp =(r.json().copy())
out_returned = temp['run_status']["output"]
time=time+float(temp['run_status']['time_used'])
space=space+int(temp['run_status']['memory_used'])
compare(out_returned,e2)
print(e2)
print(out_returned)
if (i==3):
if request.is_ajax():
source = request.POST['source']
lang = request.POST['lang']
x = str(i5)
i5 = x.replace("qwe","\n")
data['input'] = i5
if 'input' in request.POST:
data['input'] = request.POST['input']
r = requests.post(RUN_URL,data=data)
temp =(r.json().copy())
out_returned = temp['run_status']["output"]
time=time+float(temp['run_status']['time_used'])
space=space+int(temp['run_status']['memory_used'])
print("time",time,"space",space)
ftime = (time/5)*10
fspace = space/5
print("ftime",ftime,"fspace",fspace)
compare(out_returned,e5)
print(e5)
print(out_returned)
print(data)
#print(type(r))
print("Total No. of testcases Passed: " + str(counter))
score = ChallengeDemo.objects.get(from_id='sender',to_id='receiver',qtn_id=1)
if(score.score1==""):
print("dataintial")
print(to_id)
user = get_object_or_404(User,id=to_id)
global data2
#user = data2
print(request.user)
print(user)
print("dataentry")
entry = ChallengeDemo(
from_id=request.user,to_id=user,score1 = int(counter)+(fspace/ftime),score2 = 0,qtn_id = a
)
entry.save()
print("dataexit")
else:
print("updating score 2")
score.score2=int(counter)+(fspace/ftime)
score.save()
print("dataexit")
return JsonResponse(r.json(),safe=False)
else:
return HttpResponseForbidden()
解决了这个问题。
查看this demo。