【问题标题】:How to pass value in angular 2 selector using variable?如何使用变量在角度 2 选择器中传递值?
【发布时间】:2018-01-23 10:10:25
【问题描述】:

我想将值传递给 angular 的选择器,如下所示。这个问题的不同之处在于我将变量传递给子组件的选择器属性。

              <app-jform 
                  [modulename]="'({{modulename}})'"
                  [tabpgrpid]="'({{tabpgrpid}})'"
                   [tabgrpname]="'({{tabgrpname}})'"
                 [usertabgrpname]="'({{usertabgrpname}})'"
                  [moduleid]="'({{moduleid}})'"
                [templateid]="'({{templateid}})'">
             </app-jform> 

这里的modulename、tabgrpid、tabgrpname等是在组件中定义和赋值的变量。执行此操作时出现以下错误。

                 Parser Error: Got interpolation ({{}}) where expression was 
                 expected at column 1 in ['{{modulename}}'] in 
               ng:///AppModule/ViewBaseComponent.html@65:3 ("

                   <app-jform 
            [ERROR ->][modulename]="'{{modulename}}'"
           [tabpgrpid]="'{{tabpgrpid}}'"
          [tabgrpname]="'{{tabgrpname}}'"
            "): ng:///AppModule/ViewBaseComponent.html@65:3

如何将此变量传递给选择器的属性?

【问题讨论】:

标签: angular typescript


【解决方案1】:

不加注解直接通过

<app-jform  [modulename]="modulename"
            [tabpgrpid]="tabpgrpid"
            [tabgrpname]="tabgrpname"
            [usertabgrpname]="usertabgrpname"
            [moduleid]="moduleid"
            [templateid]="templateid">
 </app-jform> 

【讨论】:

  • 这样尝试后出现此错误。解析器错误:在 ng:///AppModule/ViewBaseComponent.html@57:12 (" ][模块名]="模块名'" [tabpgrpid]="tabpgrpid" [tabgrpname]="tabgrpname"
  • 有多余的单引号,现在试试
  • 我删除了单引号,现在没有解析错误但现在没有分配数据。它在组件中的说法未定义。
  • 当我使用这个

    {{modulename}} {{tabpgrpid}} {{tabgrpname}} {{usertabgrpname}}

    在选择器上方时,我打印了所有值。 .而且如果我分配一些硬编码的值,选择器的参数正在工作。
  • 我现在没有收到任何错误,但是像 modulename 这样的属性的值在 ngonit 函数中是未定义的。
猜你喜欢
  • 2012-12-04
  • 2016-04-27
  • 1970-01-01
  • 2018-12-26
  • 1970-01-01
  • 1970-01-01
  • 2018-10-26
  • 2020-01-19
  • 1970-01-01
相关资源
最近更新 更多