【问题标题】:How to require an attribute in a custom component in angular如何在角度的自定义组件中要求属性
【发布时间】:2017-02-22 10:58:03
【问题描述】:

我正在开发一个自定义组件,我想在一些输入属性上设置一些必需的条件。有办法吗?

例如,假设组件是“myComp”,两个属性是“必需”和“可选”,我想这样:

<my-comp required="value" optional="value"></my-comp>

本次运行成功

<my-comp required="value"></my-comp>

这个运行也很顺利,但是这个:

<my-comp optional="value"></my-comp>

在控制台中发送某种错误,告诉属性“required”当然是“required”。

目前我正在使用 angularJs 的 typescript 版本(版本 1.5.x)并在绑定对象中声明属性,如下所示:

export class MyCompComponent implements ng.IComponentOptions {
    public template: string = '<p>TEMPLATE</p>';
    public controller: Function = MyCompController;
    public bindings: any = {
        required: '@',
        optional: '@'
    }
}

【问题讨论】:

    标签: angularjs binding attributes require angular-components


    【解决方案1】:

    检查控制器中的属性:

      app.controller("MyCompController", function($element,$attrs) {
        if (!$attrs.required) {
          console.error("BAD my-comp ",$element[0],
                "my-comp component missing 'required' attribute");
        }
      })
    

    DEMO on PLNKR

    【讨论】:

    • $element 和 $attrs 的接口是什么?例如对于 $log 我使用 ng.ILogService
    猜你喜欢
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 2018-06-08
    相关资源
    最近更新 更多