小编San*_*per的帖子

从Angular组件动态加载外部javascript文件

我正在使用Angular 4和CLI创建一个Angular应用程序.我正在尝试将SkyScanner搜索小部件添加到我的一个组件中.

Skyscanner Widget示例

部分实现需要添加新的外部脚本:

<script src="https://widgets.skyscanner.net/widget-server/js/loader.js" async></script>
Run Code Online (Sandbox Code Playgroud)

我不确定引用此文件的正确方法.如果我将脚本添加到我的index.html文件中,除非执行整页刷新,否则不会加载窗口小部件.我假设脚本在加载时尝试操作DOM,并且脚本运行时元素不存在.

仅在加载包含Skyscanner窗口小部件的组件时加载脚本的正确方法是什么?

typescript skyscanner angular

39
推荐指数
5
解决办法
4万
查看次数

Angular-2:根据配置更改favicon图标

我在我的应用程序中呈现动态页面,菜单和其他项目.我还想根据管理员的配置更改favicon.

比方说,例如,如果我的页面加载配置了favicon,xyz.png那么它将显示xyz.png为favicon.

如下图所示,新的图标应替换"测试应用程序"附近的现有图标.现在,它显示默认的图标,如下所示.

默认的favicon


index.html:

<!DOCTYPE html>
<html>
<head>
    <base href="/MyFirstAngular2/" >
    <title>Angular 2</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="shortcut icon" id="appIcon" href="/favicon.ico" type="image/x-icon" />
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet" />
    <link href="css/Site.css" rel="stylesheet" />

    <script src="scripts/jquery-2.2.1.min.js"></script>
    <script src="scripts/bootstrap.min.js"></script>
    <script src="scripts/main/shim.min.js"></script>
    <script src="scripts/main/zone.js"></script>
    <script src="scripts/main/reflect-metadata.js"></script>
    <script src="scripts/main/system.src.js"></script>
    <script src="scripts/system.config.js"></script>
    <script>

        document.SYSTEMJS_CONFIG.map.app = 'scripts/configs';

        document.SYSTEMJS_CONFIG.packages.app = { main: 'application.ts', defaultExtension: 'ts' };

        System.config(document.SYSTEMJS_CONFIG);

        System.import('app').catch(function (err) {
            console.error(err);
        });        
    </script>

</head>
<body>
        <application></application>
</body>
</html> …
Run Code Online (Sandbox Code Playgroud)

favicon angular

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

从服务器接收结果时发生传输级错误。SQL服务器

我有一个产品表。

表中的记录数为:44990

在这个表中我有三列,

第 1 列 - 属性 NVARCHAR(MAX)

第 2 列 - 详细说明 NVARCHAR(MAX)

第 3 列 - 促销 NVARCHAR(MAX)

第 1 列有 Json 数据,

第 2 列有 Xml 数据,

第 3 列有普通文本

当我尝试选择这三列时

从产品中选择 p.Promotion、P.Attributes、P.DetailedDescriptionASXml

我收到以下错误

从服务器接收结果时发生传输级错误。(提供者:TCP 提供者,错误:0 - 信号量超时期限已过期。)

sql-server

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

Angular2:动态组件创建:AOT编译

下面是我创建动态模块的初始代码:

protected createComponentModule(componentType: any) {

    @NgModule({
        imports: [
            ComponentModule 
        ],
        declarations: [
            componentType
        ],
    })
    class RuntimeComponentModule {
    }
    return RuntimeComponentModule;

}
Run Code Online (Sandbox Code Playgroud)

虽然我将在下面的代码上实现AOT,但它会给我一个错误:

找不到'RuntimeComponentModule'的NgModule元数据

我通过更改下面的代码找到了一些Articals的解决方案,我的错误消失了:

default class RuntimeComponentModule 
{
}
Run Code Online (Sandbox Code Playgroud)

但是它提出了新的错误:

修饰符不能出现在这里

它不允许我在方法中装饰@NgModule.

angular2-aot ng-modules angular

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

如何在Angular -2/4中删除双向数据绑定

我正在开发Angular中的Multi Select下拉列表,它也有搜索功能.那时我正在通过我的主数据解析输入字段给出的输入,并且只显示DOM中的过滤内容.这是我的功能:

modifyFilter(value: any) {
        console.log('value', value); //The value passed from DOM
        this.filterContent = this.catalogManufacturerNames; /******/
        for(let i=0; i<this.catalogManufacturerNames.length;i++) {
         /* Search catalogManufacturerNames for the value and splice all
         filterContent not having the matching value */    
        }
    }
Run Code Online (Sandbox Code Playgroud)

代码的问题在于,每次modifyFilter调用该方法时,catalogManufacturerNames它也会随之改变filterContent.因此,每当我打电话时modifyFilter,标记为/******/的行filterContent被分配给前一个而filterContent不是全局,并且可能没有变化catalogManufacturerNames.我认为问题是filterContent并且catalogManufacturerNames得到双向绑定,但我不知道如何根据我的要求修改它.或者还有其他方法可以解决这个问题.欢迎提出建议.

javascript filter angular

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

Angular2:第二次避免DOM渲染

我有一个Tab控件,其中有两个选项卡.我在不同的标签中放置了两个Kendo Grid/Any组件.

当我第一次打开/选择选项卡时,它会在DOM中呈现相关的组件/ html.为了提高我ngIf在标签上的性能,只显示活动标签html.所以现在Dom只显示活动标签html,但现在当我遍历其他标签并重新访问上一个标签时,它的组件/内容似乎再次呈现.我想停止第二次渲染.

注意:如果我替换ngIfhidden那么它的工作方式已被接受,但由于许多手表和DOM与之相连,因此性能成本很高.

实际上我的主要问题是,由于上述问题,当我导航到标签时,我的网格滚动位置每次都设置为顶部而不是它应该保持在相同的状态

下面是我所做的代码的一部分.

如果选项卡内容中的条件为html(仅渲染DOM中的选定选项卡)

<div class="tab-heading-outer">
    <div class="tab-heading">
        <ul id="ulOpenedTabs" class="nav nav-tabs main-tabs" role="tablist">
            <li>                 
                <span class="ellipsis"> {{tab.Header}} </span>
            </li>
        </ul>
    </div>
</div>

<div class="tab-content" *ngIf="tab.IsSelected">
    <ng-content>
    <!--Html goes here-->
    </ng-content>
</div>
Run Code Online (Sandbox Code Playgroud)

angular

8
推荐指数
2
解决办法
2377
查看次数

Msbuild失败,错误为msb4064和msb4063

使用.NET 4.5安装Visual Studio 2012后,我在使用msbuild构建时开始出现以下错误:

  • 错误MSB4064:

"GenerateResource"任务不支持"SdkToolsPath"参数.验证该任务上是否存在该参数,它是一个可设置的公共实例属性.

  • 错误MSB4063:

无法使用其输入参数初始化"GenerateResource"任务.项目文件头如下:

    <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
Run Code Online (Sandbox Code Playgroud)

有什么想法在.NET 4.5中做了哪些改变可能导致abover错误?

msbuild .net-4.0 .net-4.5

7
推荐指数
2
解决办法
8286
查看次数

如何在没有布局页面的情况下将部分脚本添加到 asp.net mvc Razor View

我的 mvc 视图布局为空。如何在视图中添加脚本。

@{
   Layout = null;
}

@section Scripts{
<script type="text/javascript">

    $(document).ready(function () {
        $('#txtChild1').on('change', function () {
             $("#C1Age1").show();
        });
    });

</script>
}
Run Code Online (Sandbox Code Playgroud)

错误显示

无法解析“脚本”部分

asp.net asp.net-mvc razor asp.net-mvc-4

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

错误MSB4064:"复制"任务不支持"OverwriteReadOnlyFiles"参数

我正在使用Msbuild 4.0.当我使用Msbuild 3.5 OverwriteReadonlyfiles工作没有任何问题.

但是今天当我试图使用复制任务时,我遇到了这个问题.

错误MSB4064:

"复制"问题不支持"OverwriteReadOnlyFiles"参数.验证该任务上是否存在该参数,它是一个可设置的公共实例属性.

这是我的目标,它有复制任务

<Target Name="CopyBOM">

    <Copy SourceFiles="@(BOM)" DestinationFolder="%(BOM.Destination)" OverwriteReadOnlyFiles="true">
      <Output TaskParameter="CopiedFiles" ItemName="CopyBOMFiles" />
    </Copy>

    <Message Text="Copied to BOM: @(CopyBOMFiles)"/>


  </Target>
Run Code Online (Sandbox Code Playgroud)

以下是我在我的属性文件中使用的项目组

 <BOM Include="..\..\..\Release\CoreDeployment.msi">
      <Destination>..\..\..\Core\BOM\Comp1</Destination>
 </BOM>
Run Code Online (Sandbox Code Playgroud)

我有多个属性文件,我已经验证在所有地方都放置了Toolsversion = 4.0.有没有人面对这个?有什么方法可以解决这个问题吗?

msbuild msbuild-task msbuild-4.0

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

Angular 2:System.import():不使用完整路径

我使用下面两个不同的代码来导入文件运行时,其中一个工作正常,而另一个抛出错误.

工作:

 System.import('../../FileName.ts').then(classObj => {          
        console.log(classObj);            
 });
Run Code Online (Sandbox Code Playgroud)

不工作:

 System.import('App/Models/FileName.ts').then(classObj => {          
        console.log(classObj);            
 });
Run Code Online (Sandbox Code Playgroud)

它抛出以下错误:

找不到模块'App/Models/FileName.ts'

文件结构,其中编写代码,我也尝试从同一结构导入文件:

(1)代码:ActivityModel.ts(2)导入:ApplicationModel.ts

在此输入图像描述

任何人都可以帮我解决上述全路径考虑问题.

typescript systemjs angular

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

设置ggplot2标签背景色

我有这个条形图

group = c("A","A","B","B")
value = c(25,-75,-40,-76)
day = c(1,2,1,2)
dat = data.frame(group = group , value = value, day = day)
dat
ggplot(data=dat, aes(x=factor(group), y=value, fill=factor(day))) +
   geom_bar( stat="identity", position="dodge")+
   geom_label(aes(label =round(value,0),fill="white"),
   colour = "black", position= position_dodge(width=1))
Run Code Online (Sandbox Code Playgroud)

我希望标签为带有黑色字体的白色背景,但是当我添加fill="white"绘图时是不正确的。标签没有白色背景和黑色字体。

注意这里没有fill="white"情节看起来不错。我只想更改标签背景和字体

group = c("A","A","B","B")
value = c(25,-75,-40,-76)
day = c(1,2,1,2)
dat = data.frame(group = group , value = value, day = day)

ggplot(data=dat, aes(x=factor(group), y=value, fill=factor(day))) +
  geom_bar( stat="identity", position="dodge")+
  geom_label(aes(label =round(value,0)),colour = "black", 
    position= position_dodge(width=1))
Run Code Online (Sandbox Code Playgroud)

还请注意 …

r ggplot2

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