我在Ionic 3应用程序中使用了离子本机linkedin插件.
我的代码:
var scopes = ['r_basicprofile', 'r_emailaddress', 'rw_company_admin', 'w_share'];
this.linkedin.login(scopes, true).then((res) => {
console.log(res) ;
}, (err) => {
console.log(err) ;
});
Run Code Online (Sandbox Code Playgroud)
我有错误:
'string []'类型的参数不能分配给'LinkedInLoginScopes []'类型的参数.类型'string'不能分配给'LinkedInLoginScopes'类型.
请帮帮我.
我有离子选择器,其中有很多选项,当视图准备好根据CurrentNumber选择一个默认值时,我就有离子选择器。我有这个代码:
<ion-select formControlName="Level">
<ion-option [value]="level.id" *ngFor="let level of levels" [attr.selected]="(level.levelNumber == currentLevel)? true : null">
{{level.name}}
</ion-option>
</ion-select>
this.currentLevel = 1;
Run Code Online (Sandbox Code Playgroud)
数据来自服务器,像这样:
data = [
{
levelNumber : 1,
name:'abcd'
},
{
levelNumber:2,
name:'efg'
}
]
Run Code Online (Sandbox Code Playgroud) 我正在使用Ionic2,当用户选择要从popover打开的页面时,我想打开另一个页面,这是第一页的代码:
popvarSpecialsArr = ['Home','My Account','Cart','Wishlist','My Orders'];
presentPopoverSpecial(myEvent) {
let popover = this.popoverCtrl.create(MorePopverPage, {popvarArr: this.popvarSpecialsArr});
console.log('my event', myEvent);
popover.present({
ev: myEvent
});
}
Run Code Online (Sandbox Code Playgroud)
这个来自popover页面的代码:
popvarArr;
constructor(public navCtrl: NavController, public navParams:
NavParams,public viewCtrl: ViewController) {
this.popvarArr = this.navParams.get('popvarArr');
console.log(this.navParams.get('popvarArr'));
}
openPage(page) {
console.log(page);
if(page == 'Home') {
console.log('inside home');
this.navCtrl.setRoot(HomePage);
} else if(page == 'My Account') {
this.navCtrl.setRoot(MyAccountPage);
} else if(page == 'Cart') {
this.navCtrl.setRoot(CartPage);
} else if(page == 'Wishlist') {
this.navCtrl.setRoot(WishlistPage);
} else if(page == 'My Orders') {
this.navCtrl.setRoot(MyOrdersPage);
} else …Run Code Online (Sandbox Code Playgroud) 我正在使用Ionic 3的警报,并且遇到警报堆积的问题。我正在使用网络插件检查用户是否已连接到网络(WiFi / 2G / 3G等),其想法是每次用户下线或上线时都会触发警报。
this.connectSubscription = this.network.onConnect().subscribe(() => {
console.log('network connected!');
let connectedToInternet = this.alertController.create({
subTitle: 'Connected to Internet',
buttons: ['OK']
});
connectedToInternet.present();
});
this.disconnectSubscription = this.network.onDisconnect().subscribe(() => {
let noInternetAlert = this.alertController.create({
subTitle: 'No Internet Connection. Please enable Wifi or Mobile data to continue.',
buttons: ['OK']
});
noInternetAlert.present();
});
Run Code Online (Sandbox Code Playgroud)
当前行为:如果用户多次断开连接并重新连接,则对于网络中的每个更改实例,都会显示一个警报,并且警报会堆积在视图上,直到用户手动解除警报为止。
必需的行为:如果用户多次断开连接并重新连接,则对于网络变化的每个实例,都应显示一个警报,而较旧的警报将自动被关闭,因此在任何给定的时间点,不会向用户显示多个警报视图上任何警报的实例。
在离子1中,我将基于模块的文件夹分开
user
html
- user-list.html
- user-login.html
- user-profile.html
- user-edit-profile.html
scss
- ....
Run Code Online (Sandbox Code Playgroud)
那么,离子2是否遵循最佳的文件夹结构实践?
user-list
- user-list.html
- user-list.scss
- user-list.compoment.ts
- user-list.module.ts
user-login
...
user-profile
...
user-edit-profile
....
Run Code Online (Sandbox Code Playgroud)
或者我应该创建一个用户模块文件夹作为所有用户页面的父文件夹?
我正在为壁纸构建一个离子应用程序.
在应用程序中,存在显示在www/assets/img中的图像.我在下面构建了2个按钮,用于下载和检索显示的图像到移动设备存储器.
当我点击下载按钮时,会出现一个对话框,说"下载成功!Pug.jpg已成功下载到:filepath".但是当我检查手机内存时没有这样的文件.当我点击"检索"按钮时它会显示对话框说"文件检索成功!Pug.jpg已成功检索:filepath""即使手机内存中没有文件.
这是home.ts代码
import {Component} from '@angular/core';
import {NavController, Platform, AlertController} from 'ionic-angular';
import {Transfer, TransferObject} from '@ionic-native/transfer';
import {File} from '@ionic-native/file';
declare var cordova: any;
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [Transfer, TransferObject, File]
})
export class HomePage {
storageDirectory: string = '';
constructor(public navCtrl: NavController, public platform: Platform, private transfer: Transfer, private file: File, public alertCtrl: AlertController) {
this.platform.ready().then(() => {
// make sure this is on a device, not an emulation (e.g. chrome tools device mode) …Run Code Online (Sandbox Code Playgroud) ts文件:
this.addAdvertise = this.formBuilder.group({
input1: [''],
input2: [''],
.
.
.
inputN: [''],
desc: ['']
});
Run Code Online (Sandbox Code Playgroud)
输入计数来自数组的长度,数组来自服务器.
我可以使用for循环来创建输入控件吗?
我是Ionic的新手,但基本上我希望根据ID将数据从一个屏幕传递到另一个屏幕.
在我的"reference.ts"文件夹中,我有以下代码..
goToReference1(){
let id = document.getElementById("1")
if(id = 1) {
referenceField1: this.referenceList.referenceField1
this.navCtrl.push(ReferencePage,referenceField1);
}
else {
console.log("nahhh")
}
};
Run Code Online (Sandbox Code Playgroud)
在我的levels.ts文件夹(链接到数据的页面)我有....
ionViewDidLoad() {
this.navParams.get("referenceField1")
console.log(this.navParams.get("referenceField1"))
}
Run Code Online (Sandbox Code Playgroud)
我不确定是否有更简单的方法来传递并根据ID调用此数据.我很难在下一页上显示它.我已经看过这个教程了,它有点帮助,但我希望更进一步.
我正在使用离子3和文件插件做一个应用程序,我试图写一个json字符串到我的资产文件夹下的json文件,这个层次结构:-assets - > mock - > msg-list.json,资产为来自离子文件的文件夹.
使用文件插件时:
this.file.writeExistingFile("file://android_asset/www/assets/mock/","msg-list.json",JSON.stringify(data))
.catch(
error => {
console.log(error);
}
);
Run Code Online (Sandbox Code Playgroud)
我总是得到代码1000的错误,这是坏网址的一个,我确实删除文件后的"/":(已经有3)仍然得到1000代码错误.
我该怎么办 ?
这是我的代码:
properties.service.ts
get(stringParams) {
let headers = new Headers({
"X-AUTH-APIKEY": API_KEY
});
this.options = new RequestOptions({
headers: headers
});
return this.http
.get(`${API_URL}/properties/?${stringParams}`, this.options)
.timeout(50)
.map((response: Response) => response.json())
}
posts.ts
this.propertiesService.get(arrayParams).subscribe((data: any) => {
}), (err) => { console.log("timeoout")};
Run Code Online (Sandbox Code Playgroud)
我把50放在我的超时中因此被解雇但我无法以这种方式捕获错误
}), (err) => { console.log("timeoout")};
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
TimeoutError {name: "TimeoutError", stack: "TimeoutError: Timeout has occurred? at new Time…http://localhost:8100/build/polyfills.js:3:10143)", message: "Timeout has occurred"
Run Code Online (Sandbox Code Playgroud)
编辑:
this.propertiesService.get(arrayParams).subscribe((data: any) => {
}), (err) => { console.log("timeoout")};
get(stringParams) {
return this.http
.get(`${API_URL}/properties/?${stringParams}`, this.options)
.timeout(50)
.map((response: Response) …Run Code Online (Sandbox Code Playgroud) ionic3 ×10
ionic2 ×8
angular ×7
typescript ×5
android ×2
ionic-native ×2
cordova ×1
ios ×1
javascript ×1
json ×1