小编Lev*_*ler的帖子

当Injectable类被实例化时,不会调用ngOnInit

为什么ngOnInit()Injectable课程解决后没有打电话?

import {Injectable, OnInit} from 'angular2/core';
import { RestApiService, RestRequest } from './rest-api.service';

@Injectable()
export class MovieDbService implements OnInit {

    constructor(private _movieDbRest: RestApiService){
        window.console.log('FROM constructor()');
    }

    ngOnInit() {
         window.console.log('FROM ngOnInit()');
    }

}
Run Code Online (Sandbox Code Playgroud)

控制台输出

FROM constructor()
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular

175
推荐指数
4
解决办法
9万
查看次数

如何在Visual Studio代码中调试Angular2 TypeScript应用程序?

如何在Visual Studio Code中成功配置和调试Angular2 TypeScript应用程序?

我曾尝试导入es6-shimreflect-metadata也没有成功.相关代码如下.如果您需要更多详细信息,请与我们联系.

注意:我使用的是Angular2 Beta.

错误信息

Debugger listening on port 24565
c:\Users\LeviF\OneDrive\Source Code\Github\SimpleMarket\app\bin\boot.js:1
System.register(['angular2/platform/browser', './app.component'], function(exports_1) {
^

ReferenceError: System is not defined
    at Object.<anonymous> (c:\Users\LeviF\OneDrive\Source Code\Github\SimpleMarket\app\bin\boot.js:1:1)
    at Module._compile (module.js:399:26)
    at Object.Module._extensions..js (module.js:406:10)
    at Module.load (module.js:345:32)
    at Function.Module._load (module.js:302:12)
    at Module.runMain [as _onTimeout] (module.js:431:10)
    at Timer.listOnTimeout (timers.js:93:15)
Run Code Online (Sandbox Code Playgroud)

的index.html

<html>

  <head>
    <title>Angular 2 QuickStart</title>

    <!-- 1. Load libraries -->

    <script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
    <script src="node_modules/es6-shim/es6-shim.js"></script>
    <script src="node_modules/systemjs/dist/system.src.js"></script>
    <script src="node_modules/rxjs/bundles/Rx.js"></script>
    <script src="node_modules/angular2/bundles/angular2.dev.js"></script>

    <!-- 2. Configure SystemJS -->
    <script> …
Run Code Online (Sandbox Code Playgroud)

debugging typescript visual-studio-code angular

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

如何将自定义服务注入另一个自定义服务?

我得到一个No Provider for FirebaseService甚至自举后,错误FirebaseServicebootstrap(app, [providers])方法.

我按照Pascal的指南在服务中注入Http服务,当我使用HTTP_PROVIDERS引导程序注入服务时它工作,但是No providers for FirebaseService在将它更改为我自己的服务后收到错误.

我可以通过删除正常的注射来单独注射两个提供者FirebaseService.即使我这样做contructor(@Inject(FirebaseService) firebase: FirebaseService){}也行不通,但我的理解是添加@Injectable()装饰器应该具有相同的效果.

登录-page.ts

import {Component} from '@angular/core';
import {UserService} from '../../Services/user.service';
import {FirebaseService} from '../../services/firebase.service';
import {  UserModel } from '../../export';


@Component({
    moduleId: 'app/PAGES/login-page/',
    selector: 'login-page',
    templateUrl: 'login-page.html',
    styleUrls: ['login-page.css'],
    providers: [ UserService]
})
export class LoginPage {
    constructor(private userService: UserService) {}
    user:UserModel = new UserModel();
    hello: string = "You …
Run Code Online (Sandbox Code Playgroud)

angular2-services angular

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

如何在.NET Framework、.NET Standard和.NET Core项目之间使用相同的配置?

由于.NET Standard 中不存在,因此在 .NET 标准类库中ConfigurationManager检索执行程序集的应用程序设置(无论是 aweb.config还是)的最佳方法是什么?appSettings.{env}.json

我们有三个项目:

  • ASP.NET Core Web 应用程序 (1.1)
  • ASP.NET Web 应用程序 (4.6.1)
  • .NET 标准类库 (1.4) -> 被两个项目引用

在 .NET Standard 类库中,我们有一个 URL,需要根据其部署到的环境进行更改。

这对于 .NET Core 应用程序来说很好,我们只需将 URL 添加到适当的appSettings.{env}.json文件,将适当的值添加到 DI 容器,然后使用该Microsoft.Extensions.Options库检索配置。

但是,我们还需要从 .NET Framework 4.6.1 应用程序调用该库,但由于没有方法(至少我找不到)从文件中检索值web.config,所以我们没有一个好的方法设置类库中的 URL。

我们现在已经通过将 URL 变量设置为静态并在Application_Start()引用它的每个 .NET Framework 项目的方法中设置其值来解决这个问题,我们通过添加到每个 web.config 的 appSetting 键确定它是哪个环境,然后根据环境手动设置URL。

是否有更可靠的方法来处理从 .NET Standard 类库中的 .NET Core 和 .NET Framework 应用程序检索 appSettings 值?最好我们可以仅在类库中设置该值。

.net asp.net asp.net-core .net-standard

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

在脚本中设置任务组变量不会更改其值

如何确保任务组变量在非脚本任务中更新并可访问?

在任务组中,在CONTAINER_PORT脚本中设置变量后,它可以在以后的脚本任务中使用,但是当通过 访问它时$(CONTAINER_PORT),则返回原始任务组变量值。

例如,使用任务组创建构建后,我必须将其设置为,CONTAINER_PORT因为81默认情况下需要所有任务组变量。

任务 1 - 配置脚本 (Bash)

containerPort=8080
if [ $(framework) == 'dotnet' ]; then containerPort=80; fi;
echo "##vso[task.setvariable variable=CONTAINER_PORT]$containerPort";
Run Code Online (Sandbox Code Playgroud)

任务 2 - 生成 Dockerfile(文件创建器)

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE $(CONTAINER_PORT)
...
Run Code Online (Sandbox Code Playgroud)

任务 2(输出)- 我期望EXPOSE 8080在这里

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 81
...
Run Code Online (Sandbox Code Playgroud)

任务 3 - 提交脚本 (Bash)

echo "Port should be set to: $CONTAINER_PORT"
Run Code Online (Sandbox Code Playgroud)

任务 3(输出)

Port should be set to: 8080
Run Code Online (Sandbox Code Playgroud)

太棒了;正确的 …

azure-devops azure-pipelines-build-task azure-pipelines

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

当DataTemplate子项折叠时,如何隐藏ListView项占位符?

当a的可见性CarViewControl设置为折叠时,它仍会显示以前的占位符(请参见下面的屏幕截图).

什么方法可以完全隐藏它ListViewItem何时崩溃?

XAML代码

<ScrollViewer>
    <ListView ItemsSource="{Binding CarVM.UserCars}" ShowsScrollingPlaceholders="False">
        <ListView.ItemContainerStyle>
            <Style TargetType="ListViewItem">
                <Setter Property="HorizontalContentAlignment" Value="Stretch"/>
            </Style>
        </ListView.ItemContainerStyle>
        <ListView.ItemTemplate>
            <DataTemplate>
                <ctrl:CarViewControl Car="{Binding}" Visibility="{Binding HideCar, Converter={ThemeResource InverseVisConverter}}" />
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</ScrollViewer>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在上图中,有三个CarViewControls是折叠的,后面是一个没有的.一个突出显示.我希望它们在内容折叠时完全不可见.

我尝试过的:

  • DataTemplate控件的高度设置为0(只是为了查看它是否隐藏了无效的占位符
  • 设置ShowsScrollingPlaceholdersFalse基于此文档:MSDN ListView占位符

崩溃要求的原因

在每个CarViewControl中,存在一个WebView,其中包含一个安全令牌(它保持WebView登录到特定的Web站点).如果您尝试通过引用传递WebView,由于我只能假设是安全措施,您将丢失该安全令牌并且必须重新登录该站点.这就是为什么ObservableCollection在我的情况下添加/删除控件不起作用的原因.

c# xaml listview winrt-xaml win-universal-app

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

在 VS Code 中是否有隐藏查找小部件的快捷方式?

您可以通过按CTRL+在页面小部件中打开查找F,但再次按它只会聚焦它。

我真的不喜欢必须使用我的鼠标来摆脱 find 小部件,因为它挡住了一些代码。

有人知道如何使用快捷方式隐藏查找小部件吗?

查找小工具

visual-studio-code

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