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

前端之家收集整理的这篇文章主要介绍了AngularJS中没有隔离范围的指令范围属性前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有一种继承父范围的方法,同时使用传递的属性进行扩展?

我想直接从模板传递参数到可重用指令,而不必更改链接函数中的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

原文链接:https://www.f2er.com/angularjs/144159.html

猜你在找的Angularjs相关文章