【问题标题】:Rename require ngModel in Angular directive在 Angular 指令中重命名需要 ngModel
【发布时间】:2017-04-02 19:05:54
【问题描述】:

我已经开发了一些指令,并在其中使用了特定的模式来命名属性。所有属性都以“fs-”为前缀,例如<div fs-attrtibute="value"></div>

是否可以为 ngModel 属性使用自定义名称并仍保留模型控制器功能。例如<div fs-model="value" fsDirective></div>

myApp.directive('fsDirective', function() {
    return {
        require: 'fsModel',
        link: function($scope, element, attrs, ngModel) {
                    ngModel.$setViewValue('StackOverflow');          
            };
        }
    };
});

【问题讨论】:

    标签: angularjs angularjs-directive angular-ngmodel


    【解决方案1】:

    正如您在此处介绍的那样,Angular 会在名为“fsModel”的指令上查找控制器,并将其提供给链接函数的“ngModel”参数。可以将 ngModel 包装在自定义的“pass-thru”指令中,但这会引入复杂性,但收益很小。

    我们类似地为所有本地指令使用“命名空间”,但不考虑 Angular 的“ng”空间,因为它清晰且一致。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-01
      • 2017-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多