加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

AngularJS中没有隔离范围的指令范围属性

发布时间:2020-12-17 08:06:44 所属栏目:安全 来源:网络整理
导读:是否有一种继承父范围的方法,同时使用传递的属性进行扩展? 我想直接从模板传递参数到可重用指令,而不必更改链接函数中的DOM。 例如: form-input icon="icon-email" label="email" ng-model="data.input"/form-input 对于这样的指令: div class="form-gr
是否有一种继承父范围的方法,同时使用传递的属性进行扩展?

我想直接从模板传递参数到可重用指令,而不必更改链接函数中的DOM。

例如:

<form-input icon="icon-email" label="email" ng-model="data.input"></form-input>

对于这样的指令:

<div class="form-group">
      <label>{{label}}</label>
      <div class="input-group">
        <div class="{{icon}}">@</div>
        <input class="form-control" placeholder="Email" ng-model="mail.email">
      </div>
    </div>

ng-model在父范围内,在这种情况下控制整个表单,但我不认为有必要将样式属性存储在控制器中。

有没有直接在模板中传递参数而不创建隔离范围的方法?

您将无法“扩展”父范围。然而,您的目标可以通过使用在您的指令的链接功能中注入的指令标签属性来实现。

所以例如为了附加您的标签变量,您的指令的链接功能如下所示:

link: function ($scope,$element,$attributes) {
         $scope.label = $scope.$eval($attributes.label);
        }

您可以查看下面的广告空间进行现场演示。
http://plnkr.co/edit/2qMgJSSlDyU6VwdUoYB7?p=preview

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读