这真让我抓狂.我正在研究Ionic应用程序(Cordova,Angular等).我有一个联系我们链接,其中包含mailto:href
href="mailto:info@somedomain.net?subject=my%20App"
Run Code Online (Sandbox Code Playgroud)
我已经阅读了无数帖子,说你必须删除
<access origin="*"/>
Run Code Online (Sandbox Code Playgroud)
从项目根目录中的config.xml中替换它:
<access origin="mailto:*" launch-external="true" />
Run Code Online (Sandbox Code Playgroud)
我做过的.当我运行ionic build它时会被添加到config.xml中platforms/android/res/xml.但无论我做什么,链接都不会在任何Android模拟器上打开邮件应用程序(即使在模拟器中配置了电子邮件).
可悲的是,我没有可以测试的设备 - 所以这只是一个模拟器的事情还是我错过了什么?
我正在使用sidemenu ionic 2.当我从左向右滑动此页面时,侧面菜单滑出我需要在特定页面中禁用侧面菜单.
app.html
<ion-menu [content]="content">
<ion-content>
<ion-list>
<button ion-item *ngFor="let p of pages" menuClose (click)="openPage(p)" >
<ion-icon name="{{p.icon}}" item-left></ion-icon>
{{p.title}}
</button>
</ion-list>
</ion-content>
</ion-menu>
<ion-nav id="nav" [root]="rootPage" #content swipeBackEnabled="true"></ion-nav>
Run Code Online (Sandbox Code Playgroud)
page.html我在此页面中禁用了swipemenu,仅在我滑动时禁用
import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';
@Component({
templateUrl: 'build/pages/portrait/portrait.html'
})
export class Portrait {
}
Run Code Online (Sandbox Code Playgroud)
page.html中
<ion-navbar persianred *navbar>
<button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<ion-title>
Portrait
</ion-title>
</ion-navbar>
Run Code Online (Sandbox Code Playgroud) 我在Ionic 2的项目上工作,到目前为止我已经实现了地图,但我无法摆脱这一点.为了将Google Place和Autocomplete添加到项目中,我需要按照我应该的方式展示.
我能做什么?
HTML:
<ion-row>
<ion-item>
<ion-label>Search</ion-label>
<ion-input id="places" type="text" name="search"></ion-input>
</ion-row>
<div #map id="map"></div>
Run Code Online (Sandbox Code Playgroud)
HOME.ts
export class HomePage {
public latitude: number;
public longitude: number;
@ViewChild('map') mapElement;
map: any;
marker: any;
search: string;
constructor(public navCtrl: NavController, public platform: Platform) {
/*platform.ready().then(() => {
this.InitMap();
});*/
}
ionViewDidLoad(){
this.InitMap();
}
InitMap() {
this.setLocation();
let input = document.getElementById('places');
let autocomplete = new google.maps.places.Autocomplete(input);
google.maps.event.addListener(autocomplete, 'place_changed', () => {
let place = autocomplete.getPlace();
this.latitude = place.geometry.location.lat();
this.longitude = place.geometry.location.lng();
alert(this.latitude + …Run Code Online (Sandbox Code Playgroud) 我正在使用离子启动菜单模板.我想更改每个页面的标题背景颜色.我目前有:
<ion-view view-title="Search">
<ion-content>
<h1>Search</h1>
</ion-content>
</ion-view>
Run Code Online (Sandbox Code Playgroud)
我试过了:
<ion-view view-title="Search" class="bar bar-header bar-assertive">
<ion-content>
<h1>Search</h1>
</ion-content>
</ion-view>
Run Code Online (Sandbox Code Playgroud)
但它根本不起作用(内容未呈现).该头文件并不能帮助我.这样做的正确方法是什么?
我是一些新的应用程序与离子和非常新的存储库的主题,当我做提交无限的文件上传,我发现很难确定项目的变化,这就是为什么我想要求帮助在这里,如果我可以指导你忽略文件,如果一个文件默认存在占用和在哪里,因为大多数工作是在www文件夹中完成的.对不起,如果问题非常基本,但我会很快解决这个问题.
我正在使用离子框架.我正在尝试设置一种方法来接收来自其他应用的网址.比如,您在浏览器中,单击共享,并将链接发送到另一个应用程序(我的应用程序).我找到了这个cordova插件,并将其集成到我的应用程序中.但这是Android的普及.我在IOS中需要相同的功能.
我知道哪个插件需要用于ios
我为Android采取的步骤
1)cordova插件添加git://github.com/Initsogar/cordova-webintent.git 2)检查config.xml文件并找到webintent的代码
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
和app.js代码
if (window.plugins && window.plugins.webintent) {
window.plugins.webintent.getUri(function(url) {
alert("getUri url:"+url);
});
}
Run Code Online (Sandbox Code Playgroud)
在ios中对功能相同的任何建议?
谢谢
我正在尝试为我的Angular控制器编写一个测试,我正在使用jasmine karma它angular-mocks,但一直在收到错误ReferenceError: Can't find variable: module.
我有一点搜索,但我已经有了angular-mocks我的凉亭.
我在这里可以缺少什么?
以下是我的代码:
#controller
angular.module('cook_book_ctrl', [])
.controller('cookBookCtrl', function($scope, CookBook, CookBookRecipesService){
$scope.cookbookoptions = true;
CookBook.list()
.success(function(data){
$scope.recipeList = data;
CookBookRecipesService.loadCookBookRecipes($scope.recipeList);
})
.error(function(error){
})
});
#controller test
describe('CookBook controller spec', function(){
var $httpBackend, $rootScope, createController, authRequestHandler
beforeEach(module('cook_book_ctrl'));
})
#bower.json
{
"name": "HelloIonic",
"private": "true",
"devDependencies": {
"ionic": "driftyco/ionic-bower#1.0.0",
"ionic-service-analytics": "master",
"ionic-service-core": "~0.1.4",
"angular-mocks": "1.3.13"
},
"dependencies": {
"ng-cordova-oauth": "~0.1.2",
"ng-tags-input": "~2.3.0",
"angular": "~1.4.0",
"underscore": "~1.8.3",
"materialize": …Run Code Online (Sandbox Code Playgroud) 我希望能够覆盖导航栏上的BACK按钮和硬件按钮.
我希望这个覆盖是针对一个特定的控制器,而不是其他控制器.
(使用离子v1.0.0铀 - 独角兽)
我的理由是我有一个项目清单.单击列表将打开一个详细信息页面,其中包含3个选项卡.每个选项卡共享同一个控制器.
但是,在任何这些选项卡上按BACK必须返回主列表.这就是它在本机设备上的工作方式,所以我希望它能够在我的混合应用程序上运行.
在线提供的许多解决方案似乎适用于较旧的beta版本,或者用于控制器之外的注册.
在控制器内部使用Android硬件按钮的常见解决方案是:
$ionicPlatform.registerBackButtonAction(function (event) {
if($state.current.name=="home"){
alert("button back");
}
}, 100);
Run Code Online (Sandbox Code Playgroud)
然而,这似乎不适用于软导航栏按钮,它适用于所有控制器,而不仅仅是一个控制器.
情况:
在我的Ionic 2应用程序中,我有一个简单的登录,其中包含在右侧菜单中.单击标题中的右侧图标 - 将显示带有登录表单的菜单.
登录代码位于app.component内,登录视图为app.html.成功登录会将布尔全局变量 - loginState - 设置为true.
目标是每个其他组件 - 导入全局变量 - 都可以知道登录状态.
问题是 - 在成功登录后,我需要看到更改立即反映在homePage组件上,但事实并非如此.
例如,在主页上,登录后应立即为您提供某些内容.
代码:
这是我在一个名为global.ts的单独文件中设置全局变量的地方,然后我将其导入其他组件:
export var global = {
loginState : false
};
Run Code Online (Sandbox Code Playgroud)
app.component:
这是我导入全局变量并在成功登录后将其设置为true的应用程序组件:
import {global} from "./global";
loginSubmit()
{
var email = this.loginForm.value.email.trim();
var password = this.loginForm.value.password.trim();
this.userService.submitLogin(email, password)
.subscribe((response) => {
if(response.result == 1)
{
global.loginState = true;
this.menu.close();
}
}, (error) => {
console.log(error);
});
}
Run Code Online (Sandbox Code Playgroud)
问题:
应该采取什么方式来处理全局变量的变化,这些变量会立即反映在其他组件上?
我可以从app.component调用homePage组件方法吗?
谢谢!
我正在创建一个Ionic App,在浏览器中模拟它工作正常,但是一旦我尝试在android上构建它就失败了.看起来像AATP的一些错误,但我无法弄清楚,为什么会发生这种情况......这是错误日志:
Running app-scripts build: --platform android --target cordova
[00:03:39] build dev started ...
[00:03:39] clean started ...
[00:03:39] clean finished in 36 ms
[00:03:39] copy started ...
[00:03:39] deeplinks started ...
[00:03:39] deeplinks finished in 46 ms
[00:03:39] transpile started ...
[00:03:43] transpile finished in 4.22 s
[00:03:43] preprocess started ...
[00:03:43] preprocess finished in 1 ms
[00:03:43] webpack started ...
[00:03:43] copy finished in 4.49 s
[00:03:50] webpack finished in 6.46 s
[00:03:50] sass started ...
Without `from` …Run Code Online (Sandbox Code Playgroud) ionic-framework ×10
ionic ×4
angular ×3
ionic2 ×3
android ×2
cordova ×2
javascript ×2
angularjs ×1
css ×1
git ×1
google-maps ×1
ionic3 ×1
ios ×1
testing ×1
typescript ×1