如何解决如何在Nativescript-angular中使用Java的内部匿名类?
我想在Nativescript-angular下实现Java的实现,在Java的实现中,它使用使用匿名类概念的接口实现。
我关注了以下链接。 https://docs.nativescript.org/core-concepts/android-runtime/binding-generator/extend-class-interface
Java代码:
import com.microsoft.identity.client.IPublicClientApplication;
public class SingleAccountModeFragment extends Fragment {
private ISingleAccountPublicClientApplication mSingleAccountApp;
public void initialize()
{
PublicClientApplication.createSingleAccountPublicClientApplication(getContext(),R.raw.auth_config_single_account,new IPublicClientApplication.ISingleAccountApplicationCreatedListener() {
@Override
public void onCreated(ISingleAccountPublicClientApplication application) {
mSingleAccountApp = application;
loadAccount();
}
@Override
public void onError(MsalException exception) {
displayError(exception);
}
});
}
private void loadAccount() {
//some code
}
}
打字稿代码:
export class LoginService{
mSingleAccountApp;
res = utils.ad.resources.getId(":raw/auth_config");
context = applicationModule.android.context;
constructor() {
console.log("Constructor created");
console.log("value of res is: ",this.res);
const test = global.com.microsoft.identity.client.PublicClientApplication.createSingleAccountPublicClientApplication(this.context,this.res,new global.com.microsoft.identity.client.IPublicClientApplication.ISingleAccountApplicationCreatedListener(
{
constructor() {},onCreated: function(application) {
this.mSingleAccountApp = application;
this.loadAccount();
},onError: function(exception) {
//displayError(exception);
}
}));
}
loadAccount(): void {
console.log("Account is loaded");
}
我无法在TypeScript中的接口实现(匿名类)之外使用“ mSingleAccountApp”。它给了我未定义的错误。如果我在接口实现内部访问变量“ mSingleAccountApp”,则将对其进行定义。
我也无法调用LoginService服务的loadAccount()函数。似乎“ this”指针指向接口实现(匿名类),而不是LoginService类
在JAVA代码中,这一切都是可能的,我想在TypeScript中实现类似的目的。
谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。