小编dhi*_*ilt的帖子

Angular 4/5/6全局变量

我真的很难在Angular 2应用程序中创建全局变量.

我已经用Google搜索并在过去的3个小时内阅读了StackOverflow上的很多帖子,但似乎我无法让它工作.我真的希望你能帮助我,我为提出这个问题而道歉.

所以我的文件名为globals.ts,如下所示:

import { Injectable } from "@angular/core";


@Injectable()
export class Globals {

  var role = 'test';

}
Run Code Online (Sandbox Code Playgroud)

我想在我的组件的HTML视图中使用变量角色,如下所示:

{{ role }} 
Run Code Online (Sandbox Code Playgroud)

我已经通过以下方式将globals.ts文件添加到我的app.module.ts:

providers: [
  Globals
],
Run Code Online (Sandbox Code Playgroud)

无论我在这个文件上做了什么,它都没有用.我不想做的是必须手动导入每个组件中的globals.ts文件,这就是我想使用提供程序功能的原因.

我真的希望你能帮助我,再次抱歉.

最好的祝福,

AE

typescript angular

100
推荐指数
2
解决办法
18万
查看次数

Angular 5 Service读取本地.json文件

我正在使用Angular 5,我使用angular-cli创建了一个服务

我想要做的是创建一个服务,读取Angular 5的本地json文件.

这就是我的......我有点卡住......

import { Injectable } from '@angular/core';
import { HttpClientModule } from '@angular/common/http';

@Injectable()
export class AppSettingsService {

  constructor(private http: HttpClientModule) {
    var obj;
    this.getJSON().subscribe(data => obj=data, error => console.log(error));
  }

  public getJSON(): Observable<any> {
    return this.http.get("./assets/mydata.json")
      .map((res:any) => res.json())
      .catch((error:any) => console.log(error));

  }

}
Run Code Online (Sandbox Code Playgroud)

我怎么能完成这个?

javascript json angular

78
推荐指数
7
解决办法
12万
查看次数

Angular 2:表单提交已取消,因为表单未连接

我有一个包含表单的模态,当模态被销毁时,我在控制台中收到以下错误:

表单提交已取消,因为表单未连接

模态被添加到一个<modal-placeholder>元素中,该元素是<app-root>我的顶级元素的直接子元素.

从DOM中删除表单并在Angular 2中删除此错误的正确方法是什么?我目前正在使用componentRef.destroy();

html javascript forms angular angular-forms

68
推荐指数
6
解决办法
6万
查看次数

属性'fire:'在类型{production:boolean; }

所以我试图在Firebase和Heroku上构建和部署我的Angular 4应用程序,但是我遇到了如下错误:

/ Users/.../...中的错误(57,49):属性'firebase'在类型'{production:boolean; }".

它发生在我运行时ng build --prod,我的部署服务器工作正常.这是我的app.module.ts文件,供参考:

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { AngularFireModule } from 'angularfire2';
import { AngularFireDatabaseModule } from 'angularfire2/database';
import { Ng2ScrollimateModule } from 'ng2-scrollimate';
import { Ng2PageScrollModule } from 'ng2-page-scroll';

import { HttpModule } from '@angular/http';
import {
  trigger,
  state,
  style,
  animate,
  transition,
  keyframes
} from '@angular/animations';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { environment …
Run Code Online (Sandbox Code Playgroud)

heroku environment-variables firebase firebase-hosting angular

55
推荐指数
2
解决办法
3万
查看次数

Angular2动态输入字段在输入更改时失去焦点

我正在制作一个动态的表格.A Field有一个值列表.每个值都由一个字符串表示.

export class Field{
    name: string;
    values: string[] = [];
    fieldType: string;
    constructor(fieldType: string) {this.fieldType = fieldType;}
}
Run Code Online (Sandbox Code Playgroud)

我的组件中有一个函数,它为字段添加了一个新值.

addValue(field){
    field.values.push("");
}
Run Code Online (Sandbox Code Playgroud)

值和按钮在我的HTML中显示如下.

<div id="dropdown-values" *ngFor="let value of field.values; let j=index">
    <input type="text" class="form-control" [(ngModel)]="field.values[j]" [name]="'value' + j + '.' + i"/><br/>
</div>
<div class="text-center">
    <a href="javascript:void(0);" (click)="addValue(field)"><i class="fa fa-plus-circle" aria-hidden="true"></i></a>
</div>
Run Code Online (Sandbox Code Playgroud)

只要在输入值中写入一些文本,输入就会失去焦点.如果我向字段添加许多值,并且我在一个值输入中写入一个字符,则输入将失去焦点,并且字符将写入每个输入.

javascript angular2-forms angular2-ngmodel ngfor angular

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

JavaScript new Date Ordinal(st,nd,rd,th)

如果可能的话,没有JavaScript库或许多笨重的代码,我正在寻找最简单的方法来格式化一个日期,从现在开始以下列格式:

13th March 2013

我使用的代码是:

var newdate = new Date(+new Date + 12096e5);
document.body.innerHTML = newdate;
Run Code Online (Sandbox Code Playgroud)

从现在起两周后返回日期和时间,但是像这样:2013年3月27日星期三21:50:29 GMT + 0000(格林威治标准时间标准时间)

这是jsFiddle中的代码.

任何帮助,将不胜感激!

javascript date ordinal-indicator

38
推荐指数
7
解决办法
3万
查看次数

PassportJS deserializeUser从未调用过

我已经设置了Passport来验证存储在mongodb中的用户.似乎工作正常:身份验证成功/失败,会话变量设置.但是,让Passport检查会话是否失败.有些东西似乎是错误的,因为我添加到deserializeUser回调中的console.log语句从未见过光.我认为我的问题与deserializeUser从未被调用有关.有人能够诊断我的失误吗?

// Passport configuration
passport.serializeUser(function(user, cb){ cb(null, user.id) });
passport.deserializeUser(function(uid, cb){
  console.log("Trying to deserialize user: "+uid);
  User.findById(uid, function(err, user){
    cb(err, user);
  });
});
// auth strategy function
passport.use(new LocalStrategy({usernameField: 'email'},
  function(email, pass, done){
    User.findOne({email: email}, function (err, user) {
      if (err)
        return done(err);
      if (!user)
        return done(null, false, {message: "Couldn't find user"});
      var crypted = bcrypt.hashSync(pass, user.salt);
      if(user.hashpass != crypted)
        return done(null, false, {message: "Bad password"});
      return done(null, user);
    });
  }
));

passport.CreateSession =  function (req, …
Run Code Online (Sandbox Code Playgroud)

session node.js passport.js

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

如何使输入可观察?

我有一个带有一些输入的组件,我希望在它发生变化时得到通知.我目前正在通过实现ngOnChanges和确定哪些输入已更改来工作.但是,我更喜欢将我的输入声明设置为@Input('select-values') selectValues:Observable<any>.这将允许我订阅以更清洁的方式发生的任何新变化.

ngOnInit() {
    this.selectValues.subscribe(() => console.log('yay!'));
}
Run Code Online (Sandbox Code Playgroud)

这个问题是我得到了例外TypeError: this.selectValues.subscribe is not a function.

刚刚发现这也有效 - 组件交互.使用setter拦截输入属性更改.

angular

23
推荐指数
3
解决办法
2万
查看次数

使用Response.Redirect()时获取线程中止异常

我在更新面板下的页面中编写了以下代码.

protected void myGrid_RowCommand(object sender, GridViewCommandEventArgs e)
{
    try
    {
        if (e.CommandName =="EditNames")
        {
            long lSelectedName = Convert.ToInt64(e.CommandArgument);
            Session["SelectedItem"] = lSelectedName;
            Response.Redirect("EditItem.aspx");
        }
        else if (e.CommandName =="DeleteNames")
        {
            long lSelectedName = Convert.ToInt64(e.CommandArgument);
            ValidName.DeleteItem(lSelectedName);

            ScriptManager.RegisterStartupScript(this, GetType(), "Key", "alert('Name deleted sucessfully')", true);
        }
    }
    catch (System.Threading.ThreadAbortException)
    {

    }
    catch (Exception ex)
    {
        Error handling code...
    }
}
Run Code Online (Sandbox Code Playgroud)

在这里,我在重定向时遇到线程中止异常.但是,我通过使用错误处理程序解决了它System.Threading.ThreadAbortException.

但我不确定为什么在重定向时出现错误.即使我解决了这个问题,我想知道我编码的方式是否有任何错误,或者是否有任何方法可以阻止错误触发.

给你的意见......

请注意,该页面位于AJAX UPDATE PANEL下.

.net c# asp.net

22
推荐指数
2
解决办法
4万
查看次数

如何处理Redux Reducer中的树形实体?

我有点想到如何实现一个reducer,其实体可以有相同类型的子.

让我们以reddit注释为例:每个注释都可以有子注释,可以自己注释等等.为了简化原因,注释是类型的记录{id, pageId, value, children},pageId是reddit页面.

如何为减速机建模?我正在考虑让reducer成为一个map - > id的注释,你可以使用它来逐页过滤pageId.

问题是,例如当我们想要为嵌套的注释添加注释时:我们需要在地图的根上创建记录,然后在父子属性中添加其id.要显示我们需要获取所有这些注释的所有注释,请过滤掉我们在顶部的那些注释(例如,将它们作为orderedList保存在页面reducer中)然后迭代它们,从注释对象获取时我们遇到使用递归的孩子.

有没有比这更好的方法或有缺陷?

javascript flux reactjs-flux redux

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