小编Ale*_*fan的帖子

角度2 - 形式组成分

我正在尝试构建一个数据驱动的表单,输入来自另一个组件,如下所示:

<form [formGroup]="signupForm" (ngSubmit)="onSubmit()">
    <app-form-group [name]="name"></app-form-group>
    <app-form-group [name]="email"></app-form-group>
    <app-form-group [name]="other"></app-form-group>
</form>
Run Code Online (Sandbox Code Playgroud)

app-form-group组件将如下所示:

<div class="form-group">
    <label class="col-md-2 control-label">{{Name}}</label>
    <div class="col-md-9">
  <input class="form-control" [name]="name" [formControlName]="formCtrlName">
</div>
Run Code Online (Sandbox Code Playgroud)

问题是formControlName需要一个formGroup指令,因此我得到这个错误:

Error : Error in ./FormGroupComponent class FormGroupComponent - inline template:3:58 caused by: formControlName must be used with a parent formGroup directive.You'll want to add a formGroup
   directive and pass it an existing FormGroup instance (you can create one in your class).
Run Code Online (Sandbox Code Playgroud)

有什么方法可以解决这个问题吗?

angular2-forms angular

9
推荐指数
2
解决办法
1万
查看次数

离子2中的背景颜色渐变

我正在尝试使用文件中的$background-color变量为我的应用设置背景颜色variables.scss.当设置一个颜色时,这样可以正常工作,如#000#fff,但不能使它适用于渐变.

$background-color: linear-gradient(to bottom, #000 0%, #fff 100%);

此代码抛出以下Sass错误:

argument '$color' of 'rgba($color, $alpha)' must be a color Backtrace.

那么,如何将背景颜色设置为渐变?

css sass ionic2

8
推荐指数
1
解决办法
1万
查看次数

离子3:从PlayStore链接中获取价值

我有一个Ionic 3应用程序,我想根据Playstore的下载链接在其中设置一些变量.例如,http://linktoplaystore.com/app?account=4将我的应用程序中的帐户变量设置为4.有没有办法实现这一点?

javascript android ionic-framework ionic2 ionic3

8
推荐指数
1
解决办法
434
查看次数

Http在Angular 2自定义异步验证中不起作用

我正在尝试创建一个自定义异步验证器,它将转到服务器并检查电子邮件是否已注册.

不幸的是,似乎get请求永远不会被触发,因为没有任何反应.我在里面尝试了多个console.logs subscribe,但是他们没有运行.

我已经检查过该请求是否在验证器之外工作,而且确实如此,所以这不是问题所在.

import { Component } from '@angular/core';
import { FormGroup, FormBuilder, Validators, FormControl } from '@angular/forms';
import { Response, Http } from '@angular/http';

 @Component({
     templateUrl: 'build/pages/welcome/signup/signup.html',
     providers: [AuthService, CustomValidators]
})
export class Signup {

     signupForm: FormGroup;

     constructor(private formBuilder: FormBuilder, private http: Http) {

         this.signupForm = formBuilder.group({
             'email': ['', Validators.required, this.checkEmail],
         }):
     }

     checkEmail(control: FormControl): Promise<any> {

          const promise = new Promise<any>(
             (resolve, reject) => {

                 this.http.get('/sharealead/main.php?action=checkEmail').subscribe(
                     (res: Response) => {
                         console.log('it never gets here');
                         console.log(res)
                         if …
Run Code Online (Sandbox Code Playgroud)

asynchronous angular2-forms angular

7
推荐指数
1
解决办法
2915
查看次数

在图层组中放置多个标记

我正在尝试使用 for 循环创建多个标记,将坐标存储到数组中。然后,我想将该标记放入图层组,并能够使用 L.control.layers 显示/隐藏它们。问题是只会显示最后创建的标记。我知道这与闭包和作用域有关,但我是 JavaScript 的新手,我还不了解这些东西。

var map = L.map('map').setView([44.6499282, 22.6327532], 14);
L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png').addTo(map);

var coordinates = [
    [44.649, 22.632],
    [44.650, 22.642],
    [44.652, 22.632]
];

for (i = 0; i < coordinates.length; i++) {
    marker = L.marker([coordinates[i][0], coordinates[i][1]]);
    marker.addTo(map);
}

var overlay = {'markers': marker};
L.control.layers(null, overlay).addTo(map);
Run Code Online (Sandbox Code Playgroud)

这是 JSFiddle 的链接:http : //jsfiddle.net/pufanalexandru/gryvsae2/

closures leaflet

5
推荐指数
1
解决办法
6860
查看次数

设置字符代码表以在ESC/POS打印机中打印非拉丁字符

我有一个Android应用程序,我正在尝试打印一些包含非拉丁字符的文本.

我正在使用此代码向ESC t n打印机发送命令:

 byte[] buf = new byte[]{0x1B, 0x74, (byte)2}; // 2 is the codetable for PC850: Multilingual
 this.mBaseOutputStream.write(buf);
Run Code Online (Sandbox Code Playgroud)

然后,我尝试像这样打印我的代码:

this.mBaseOutputStream.write("????? ?îîîîîî?".getBytes("cp850"));

但我得到的所有非拉丁字符都是奇怪的符号.那么我做错了什么?

java printing android escpos

5
推荐指数
1
解决办法
790
查看次数

Angular 2-在Observable中获取已更改的FormControl的值

我有一个简单的表格建立与FormBuilder

this.contactForm = formBuilder.group({
  'name': [''],
  'email': [''],
  'phone': [''],
});
Run Code Online (Sandbox Code Playgroud)

我想观察每个控件的更改,并在发生这种情况时使用更新后的值运行一个函数:

getContacts(value: any) {
    this.phoneContacts.findContact(value).then(
        contacts => {
            // do something
        }
    );
}
Run Code Online (Sandbox Code Playgroud)

现在,我正在为每个控件执行此操作,使用它bind来访问this组件的对象:

this.contactForm.get('name').valueChanges.subscribe(this.getContacts.bind(this));
this.contactForm.get('email').valueChanges.subscribe(this.getContacts.bind(this));
this.contactForm.get('phone').valueChanges.subscribe(this.getContacts.bind(this));
Run Code Online (Sandbox Code Playgroud)

有什么方法可以观看更改并仅通过一次订阅获得更新的价值?我知道我可以直接订阅this.contact.form,但是我将获得所有控件作为值,而不仅仅是更新的控件。

angular2-forms angular

1
推荐指数
1
解决办法
5203
查看次数

使用 Capacitor 安装 BackgroundGeolocation 插件后,无法在 Android 上构建 Ionic 应用程序

我正在尝试将我的应用程序从 Cordova 迁移到 Capacitor,但我仍然需要使用诸如后台地理定位之类的功能。为此,我正在使用这个插件:https : //ionicframework.com/docs/native/background-geolocation

所以,为了测试这个,我创建了一个新的应用程序,添加了 Capacitor 并安装了这个插件。如此处所述(https://github.com/ionic-team/capacitor/issues/2529#issuecomment-603205348),我将此行添加到我的字符串文件中:

<string name="mauron85_bgloc_account_name">@string/app_name</string>
<string name="mauron85_bgloc_account_type">$PACKAGE_NAME.account</string>
<string name="mauron85_bgloc_content_authority">$PACKAGE_NAME</string>
Run Code Online (Sandbox Code Playgroud)

在那之后,我跑了 npx cap sync

现在,每当我尝试构建应用程序时,都会收到以下错误: Execution failed for task ':capacitor-cordova-android-plugins:compileDebugJavaWithJavac'.

在我的控制台中,上面有很多缺失的导入错误,如下所示:

C:\Users\zxy\Desktop\mobile_apps\testApp\android\capacitor-cordova-android-plugins\src\main\java\com\evgenii\jsevaluator\JsEvaluator.java:4: error: package android.support.annotation does not exist
import android.support.annotation.VisibleForTesting;
> C:\Users\zxy\Desktop\mobile_apps\testApp\android\capacitor-cordova-android-plugins\src\main\java\com\marianhello\bgloc\BackgroundGeolocationFacade.java:17: error: package android.support.v4.content does not exist
> import android.support.v4.content.ContextCompat;
>                                  ^
> C:\Users\zxy\Desktop\mobile_apps\testApp\android\capacitor-cordova-android-plugins\src\main\java\com\marianhello\bgloc\BackgroundGeolocationFacade.java:18: error: package android.support.v4.content does not exist
> import android.support.v4.content.LocalBroadcastManager;
Run Code Online (Sandbox Code Playgroud)

知道如何让这个插件与 Capacitor 一起工作吗?

android ionic-framework ionic-native capacitor

1
推荐指数
1
解决办法
2284
查看次数