我正在使用离子启动菜单模板.我想更改每个页面的标题背景颜色.我目前有:
<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)
但它根本不起作用(内容未呈现).该头文件并不能帮助我.这样做的正确方法是什么?
我正在使用离子框架.我正在尝试设置一种方法来接收来自其他应用的网址.比如,您在浏览器中,单击共享,并将链接发送到另一个应用程序(我的应用程序).我找到了这个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 1.0.0 beta-8
创建一个新的应用程序后,我构建并将其部署到Nexus 5模拟器,它工作正常.但是当我尝试在我的Android 2.2手机上调试它时,我收到了这个错误:
....
-post-build:
[move] Moving 1 file to /home/admin/code/projects/myapp/ionic/platforms/android/ant-build
[move] Moving 1 file to /home/admin/code/projects/myapp/ionic/platforms/android/CordovaLib/ant-build
debug:
BUILD SUCCESSFUL
Total time: 6 seconds
WARNING : No target specified, deploying to device 'I8972b56ddac'.
Using apk: /home/admin/code/projects/myapp/ionic/platforms/android/ant-build/HelloCordova-debug-unaligned.apk
Installing app on device...
/home/admin/code/projects/myapp/ionic/platforms/android/cordova/node_modules/q/q.js:126
throw e;
^
ERROR: Failed to launch application on device: ERROR: Failed to install apk to device: pkg: /data/local/tmp/HelloCordova-debug-unaligned.apk
Failure [INSTALL_FAILED_OLDER_SDK]
Error: /home/admin/code/projects/myapp/ionic/platforms/android/cordova/run: Command failed with exit code 8
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:131:23)
at ChildProcess.emit (events.js:98:17)
at …Run Code Online (Sandbox Code Playgroud) 我有一个非常奇怪的问题,大约一个星期前就开始发生了.
我有一个离子v1应用程序,它使用谷歌地图(不是一个cordova插件,但谷歌地图的网络版本),这些地图以模式打开,并一直工作(至少两年).
我目前拥有的JS代码如下
$scope.pickup_map = {
center: item.location,
zoom: 14,
control: pickupMapControl,
mapOptions: {
draggable: true,
disableDefaultUI: true,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.LARGE,
position: google.maps.ControlPosition.RIGHT_CENTER
}
}
}
Run Code Online (Sandbox Code Playgroud)
然后在openModal方法中:
$timeout(
() => {
const map = pickupMapControl.getGMap()
map.setCenter(new google.maps.LatLng(item.location.latitude, item.location.longitude))
google.maps.event.trigger(map, 'resize')
},
100
)
Run Code Online (Sandbox Code Playgroud)
在html我有:
<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry&libraries=places&key=AIzaSyAUKvpku-JhbniZY80NLq_A2Ejgk_b_lUc&v=3.31" async></script>
Run Code Online (Sandbox Code Playgroud)
和
<ion-modal-view>
<ion-header-bar class="bar-calm">
<h1 class="title">Pick-up Location</h1>
<div class="button button-clear" ng-click="closeMapViewer()"><span class="icon ion-close"></span></div>
</ion-header-bar>
<ion-content class="pickup-location-viewer">
<ui-gmap-google-map
center="pickup_map.center"
zoom="pickup_map.zoom"
control="pickup_map.control"
options="pickup_map.mapOptions"
draggable="true"
data-tap-disabled="true"
ng-if="pickup_map.control"
>
<ui-gmap-circle center="marker.position" stroke="marker.stroke" fill="marker.fill" radius="marker.radius"></ui-gmap-circle> …Run Code Online (Sandbox Code Playgroud) 我试图在promise上使用finally方法,但我不断收到此错误.
Property 'finally' does not exist on type 'Promise<void>'.
Run Code Online (Sandbox Code Playgroud)
我已经查到了类似的问题,建议在tsconfig.js中的"lib"数组中添加"es2018.promise".然后,这会产生以下错误:
typescript error
Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'esnext', 'dom',
'dom.iterable', 'webworker', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator',
'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol',
'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory', 'es2017.string',
'es2017.intl', 'esnext.asynciterable'.
Run Code Online (Sandbox Code Playgroud)
任何帮助解决这个问题非常感谢!
我正在使用以下版本创建发布APK:node - 8.12.0 gradle - 4.10.2离子CLI - 4.0.5 Cordova - 8.0.0
我跑的时候
ionic cordova build android --prod --release
Run Code Online (Sandbox Code Playgroud)
我收到以下错误.
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':CordovaLib'.
> Could not resolve all files for configuration ':CordovaLib:classpath'.
> Could not find intellij-core.jar (com.android.tools.external.com-intellij:intellij-core:26.0.1).
Searched in the following locations:
https://jcenter.bintray.com/com/android/tools/external/com-intellij/intellij-core/26.0.1/intellij-core-26.0.1.jar
Run Code Online (Sandbox Code Playgroud)
当我在浏览器中放置"intellij-core-26.0.1"URL时,它显示状态404.
任何人,请建议
ionic-framework ×10
ionic ×3
android ×2
angular ×2
cordova ×2
ionic2 ×2
ionic3 ×2
ios ×2
javascript ×2
angularjs ×1
css ×1
google-maps ×1
testing ×1
typescript ×1