相关疑难解决方法(0)

Angular HTML绑定

我正在写一个Angular应用程序,{{myVal}}我想要显示一个响应.

我怎么做?如果我只是使用绑定语法,innerHTML它会编码所有div字符(当然).

我需要以某种方式将a的内部html绑定{{myVal}}到变量值.

angular2-template angular2-databinding angular

756
推荐指数
11
解决办法
46万
查看次数

具有多个视图的Angular 2组件

如何为Angular 2组件提供多个视图\视图模板?

我必须使用ng-content吗?这不完全是我想要的功能.也许是一个指定模板url的组件属性,但是如何更改组件类中的view\template?

angular

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

我可以在angular2中为一个组件添加两个模板吗?

我有一个组件有一个html和.ts文件.出于某些原因,我必须创建多个页面(HTML)页面.
是否可以为单个类(组件)创建多个(html)页面?
或者是否可以为组件提供动态TemplateUrl?

我的主要动机是提供不同的URL并使用不同的视图(HTML页面)但使用单个类(.ts类即组件)?
我已经看到下面提到的很多问题,但没有找到确切的解决方案 -

我想要这样的东西

{ path: '/Login', component: LogIn, name: "Login"},
{ path: '/Login2', component: LogIn, name: "Login" },
{ path: '/Login3', component: LogIn, name: "Login" }
Run Code Online (Sandbox Code Playgroud)

我想用不同的URL和视图加载相同的组件.

angular2-template angular

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

在Angular2中使用ComponentResolver和ngFor创建动态anchorName/Components

我需要在ngFor循环中创建唯一的锚点名称/组件,以将其与ComponentResolver.resolveComponent一起使用.

<div>
  <table>
    <tr *ng-for="#vIndex of vArr">
      <td *ng-for="#hIndex of hArr">
        <div #uniqueanchorname{{vIndex}}_{{hIndex}}></div>
      </td>
    </tr>
  </table>
</div>
Run Code Online (Sandbox Code Playgroud)

生成的HTML应该看起来像这样:

<div>
  <table>
    <tr>
      <td>
        <div #uniqueanchorname0_0></div>
      </td>
      <td>
        <div #uniqueanchorname0_1></div>
      </td>
    </tr>
    <tr>
      <td>
        <div #uniqueanchorname1_0></div>
      </td>
      <td>
        <div #uniqueanchorname1_1></div>
      </td>
      <td>
        <div #uniqueanchorname1_2></div>
      </td>
    </tr>
  </table>
</div>
Run Code Online (Sandbox Code Playgroud)

有了它,我可以使用DynamicComponentLoader,如:

loader.loadIntoLocation(responseDependentComponent, elementRef, 'uniqueAnchorName1_2');
Run Code Online (Sandbox Code Playgroud)

生成的HTML不会被替换,看起来像:

<div>
  <table>
    <tr>
      <td>
        <div #uniqueanchorname{{vIndex}}_{{hIndex}}></div>
      </td>
      <td>
        <div #uniqueanchorname{{vIndex}}_{{hIndex}}></div>
      </td>
    </tr>
    <tr>
      <td>
        <div #uniqueanchorname{{vIndex}}_{{hIndex}}></div>
      </td>
      <td>
        <div #uniqueanchorname{{vIndex}}_{{hIndex}}></div>
      </td>
      <td>
        <div #uniqueanchorname{{vIndex}}_{{hIndex}}></div>
      </td>
    </tr>
  </table>
</div>
Run Code Online (Sandbox Code Playgroud)

如果无法创建唯一的锚名称.还有其他方法可以将组件加载到特定位置吗?

angular

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

我能在角度2中动态更改templateUrl吗?

我想动态更改templateUrl,我已经阅读了Angular 2中的动态模板URL.是的,我可以在组件初始化之前更改我的模板.但我想要的是当我点击按钮并更改网址时,我的html就更新了,就像双向数据绑定一样.

我尝试使用这样的组件:

templateUrl: (function() {
    return dynamicURl;
}())
Run Code Online (Sandbox Code Playgroud)

但是当改变"dynamicUrl"时,并没有发生任何事情.我还使用dynamicComponentLoader再次加载我的组件,组件不会更改.

javascript angular

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

如何在Angular 5组件中有条件地加载templateUrl html文件

在我的项目中有一个场景,考虑一下,我有一个testDynamic组件

@Component({
    templateUrl: "./test-dynamic.html", // Need to override this file
    styleUrls: ['./test-dynamic.css']
})
export class testDynamic {
    constructor() { }
}
Run Code Online (Sandbox Code Playgroud)

这里需要检查override文件中是否存在override1.html文件,然后将此文件作为templateUrl加载,否则加载组件默认test-dynamic.html.不知道如何实现这一目标.

请参阅以下图片以便清楚理解

在此输入图像描述

javascript typescript webpack angular angular5

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

Angular 2:从装饰器访问注入的依赖项

我正在制作一个可重复使用的Angular2组件,我希望用户能够指定一个模板字符串或templateUrl,然后该组件将通过属性或通过某种服务方法设置该组件.

在Angular 1中,这很简单,我们可以这样做:

// somewhere else in app
myService.setTemplateUrl('path/to/template.html');

// directive definition
function myDirective(myService) {

  return {
    template: function(element, attrs) {
      return attrs.templateUrl || myService.getTemplateUrl();
    }
    // ...
  };

}
Run Code Online (Sandbox Code Playgroud)

如何在Angular2中实现这一目标?

@Component({
  selector: 'my-component',
  template: '...' // cannot see `mySerivce` from here, nor access the element attributes
})
export class MyComponent {

  constructor(private myService: MyService) {}

}
Run Code Online (Sandbox Code Playgroud)

虽然我的问题特别涉及如何实现动态模板,但更广泛的问题是是否可以从各种装饰器访问注入的依赖项实例.

angular

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

在Angular-2中动态绑定不同模板的一个组件

我是Angular 2的新手.我看到一个组件总是与视图模板一样

@Component({
  selector: 'page-sample',
  templateUrl: 'sample.html',
  providers: []
})
Run Code Online (Sandbox Code Playgroud)

我们可以动态地将Angular 2组件重用于不同的模板吗?

typescript angular

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