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

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...