角度指令的范围不能很好地绑定

时间:2021-02-12 20:37:26

Good afternoon

下午好

I'm a newbie in angular ,and directives, and something with the scope it's not running ok ( in my case, of course :)).

我是角度和指令的新手,以及它运行不正常的东西(在我的情况下,当然:))。

I have defined the following directive :

我已经定义了以下指令:

angular.module('ToolBarMod', ['ngAria'])
.controller('ToolBarCtrl', [function ($scope) {}])
.directive('svdToolBar', function ($translate) {
    return {
        restrict: 'E',
        replace: true,
        scope: {
            id: '@id',
            name: '@name',
            labelHeader: '@labelHeader',
            tooltipLabelSave: '@tooltipLabelSave',
            enableSave: '@enableSave',
            onClickSave: '&onClickSave',
            onChange: '&onChange'
        },
        template: '<div id="{{name}}" class="md-toolbar-tools">' +
                      '<md-toolbar md-scroll-shrink>' +
                            '<div class="md-toolbar-tools titulo margin-8">'+
                                '{{labelHeader}}' +
                                '<md-button id="save" class="tool toolBarButton" ng-disabled="{{enableSave}}" aria-label="{{ \'GEN-SAVE\' | translate }}" ng-click="onClickSave">' +
                                    '<md-tooltip>'+'{{tooltipLabelSave}}'+'</md-tooltip>' +
                                    '<ng-md-icon icon="save"></ng-md-icon>'+
                                '</md-button>'+
                            '</div>' +
                      '</md-toolbar>' +
                      '<div flex></div>' +
                    '</div>'
        }
});

})();

})();

and the my html uses the directive this way

并且我的html以这种方式使用指令

<svd-tool-bar id="toolbar" labelHeader="tasacion" name="toolbar" tooltipLabelSave="{{ 'VAL-NEW-I-N' | translate }}" enableSave="true"/>

in case of the attribute 'labelHeader' , there's something I'm not doing right . So , when the html it's loaded , I can't see the attribute 'tasacion' . The element 'labelHeader' it's empty .

在属性'labelHeader'的情况下,有些东西我做得不对。所以,当它加载的html时,我看不到属性'tasacion'。元素'labelHeader'是空的。

What am I missing ?

我错过了什么?

Thanks in advance

提前致谢

2 个解决方案

#1


3  

Use label-header in the attribute

在属性中使用label-header

<svd-tool-bar id="toolbar" label-header="tasacion" 

#2


2  

Angular expects the attribute names to be separated by '-' (just like the directive name).

Angular期望属性名称用' - '分隔(就像指令名一样)。

So instead of labelHeader use label-header etc.

因此,而不是labelHeader使用label-header等。

#1


3  

Use label-header in the attribute

在属性中使用label-header

<svd-tool-bar id="toolbar" label-header="tasacion" 

#2


2  

Angular expects the attribute names to be separated by '-' (just like the directive name).

Angular期望属性名称用' - '分隔(就像指令名一样)。

So instead of labelHeader use label-header etc.

因此,而不是labelHeader使用label-header等。