我开发了Cordova应用程序。每当我尝试AppDomain appDomain = AppDomain.CreateDomain("MyAuthDomain");
appDomain.DoCallBack(load_Auth);
var isLogin = (bool)appDomain.GetData("IsLogin");
AppDomain.Unload(appDomain);
private static void load_Auth()
{
var form = new Compiler(File.ReadAllBytes(Environment.CurrentDirectory + @"\form.dll"), "form");
form.InvokeMember("ShowDialog");
AppDomain.CurrentDomain.SetData("IsLogin", (bool)form.GetField("IsLogin"));
form.Unload();
}
时,它会打开应用程序,但是当控制器必须执行时,cordova run android
被忽略。只有在使用 Android 进行模拟时才会发生这种情况。如果我尝试$state.go('app.login')
或cordova run browser
,则可行。
这是我的App.config的一部分:
cordova run ios
我认为它与路径有关......但我不知道到底发生了什么。 干杯!
更新
我刚刚意识到这一点:如果我做了App.config(['$stateProvider','$urlRouterProvider','$httpProvider',
function ($stateProvider, $urlRouterProvider, $httpProvider) {
'use strict';
// default route to dashboard
$urlRouterProvider.otherwise('page.login');
//
// App Routes
// -----------------------------------
$stateProvider
.state('app', {
url: '/app',
abstract: true,
templateUrl: basepath('app.html'),
controller: 'AppController'
})
.state('page.login', {
url: '/login',
templateUrl: 'app/pages/login.html',
controller: 'LoginController',
});
// Change here your views base path
function basepath(uri) {
return 'app/views/' + uri;
}
});
我得到了这个
console.log($state.go('app.login'))