int、double、num 等数值类具有钳位功能。我尝试了一下并得到了一些结果..我猜它有一个类似的逻辑
a = math.max(-1, math.min(1, a));
Run Code Online (Sandbox Code Playgroud)
但是当我打印这段代码时,我得到了奇怪的结果
print(-100.43.clamp(-400.2, 64.2)); // -64.2
Run Code Online (Sandbox Code Playgroud)
dart的clamp函数的算法是怎样的?
这是一个代码:
const bool a = const bool.fromEnvironment("true");
print(a); // false
Run Code Online (Sandbox Code Playgroud)
是的,默认值为 false。a在不使用默认值的情况下我应该怎么做?那么字符串参数是什么?也许是一把钥匙?
当我上传视频文件时,它在本地(开发模式)下正常工作。但是当我将其上传到服务器(产品)时,它不起作用。
这是服务:
uploadVideo(id: String, file, imageId) {
let formData = new FormData();
formData.append('video', file);
formData.append('imageId', imageId);
return this.http.post<any>(`.../${id}/video`, formData, {reportProgress: true, observe: 'events'})
.pipe(map(response => {
return response;
}));
}
Run Code Online (Sandbox Code Playgroud)
这是组件 ->
this.arrivalProductService.uploadVideo(this.data.id, this.selectedFile, imageId)
.pipe(
map((event) => {
console.log('event', event);
if(event.type === HttpEventType.UploadProgress){
const percentDone = Math.round(100 * event.loaded / event.total);
return { status: 'progress', message: percentDone };
}
if (event.type === HttpEventType.Response) {
return event.body;
}
}),
catchError(error => {
return throwError(error);
}),
finalize(() => {
console.log('completed');
}) …Run Code Online (Sandbox Code Playgroud) 我不明白 getter 在 Vuex 中是如何工作的。问题是当在 state 中注销令牌并且 localStorage 变空时,但在 getters 中则不然。在created我称之为:
created: async function () {
if (this.$store.getters.shortToken) {
this.isConfirm = true
}
console.log(
'signining', localStorage.getItem('token'), // ''
'state', this.$store.state.user.token, // ''
'getter', this.$store.getters.token // 'old-token'
)
if (this.$store.getters.token) {
await this.$router.push({ path: '/' })
}
}
Run Code Online (Sandbox Code Playgroud)
并且getters有:
token: state => {
return localStorage.getItem('token') || state.user.token
}
Run Code Online (Sandbox Code Playgroud)
和mutation:
SET_TOKEN: (state, payload) => {
localStorage.setItem('token', payload.token)
Object.assign(state, payload)
}
Run Code Online (Sandbox Code Playgroud)
但是,创建的控制台登录给了我空的 localStorage 令牌(这是正常的)和空的 state.token …
我有 2 个数组:
var keys = Object.keys(item); // [first, second, third, forth]
var values = Object.values(item); // [fifth, sixth, seventh, eighth]
let newArray = [];
Run Code Online (Sandbox Code Playgroud)
输出应该是:
[first, fifth, second, sixth, third, seventh, forth, eighth]
Run Code Online (Sandbox Code Playgroud)
是否可以不使用任何 while 循环,例如for i in item或for i = 0;i <= item.length; i++ ..
只需使用地图、拼接等。
dart ×2
flutter ×2
javascript ×2
angular ×1
arrays ×1
file-upload ×1
production ×1
progress-bar ×1
router ×1
typescript ×1
vue.js ×1
vuex ×1