簡體   English   中英

角度指令-范圍返回0而不是值

[英]Angular Directive - Scope returns 0 instead of value

我有以下Angular指令:

var OrgChartDirective = function() {
    return {
        restrict: 'AE',
        scope: {
            source     : '=',
            container  : '=',
            stack      : '=',
            depth      : '=',
            interactive: '=',
            showLevels : '=',
            clicked    : '=' // We use '=' here rather than '&' for this callback function
        },
        link: function(scope, element, attrs) {
            var target = $(element);
            var source = $('#' + scope.source);
            var options = {
                container  : target,
                nodeClicked: scope.clicked,
                stack      : scope.stack,
                depth      : scope.depth,
                interactive: scope.interactive,
                showLevels : scope.showLevels
            };
            console.log("Drawing org chart at " + scope.source + " on " + target);
            console.log(scope);
            source.orgChart(options);
        }
    }
};

我將其添加到頁面中,例如:

<org-chart source='list-for-wf'/><div org-chart source='list-for-wf'> </div>

問題是,在我的控制台中,我看到:

Drawing org chart at 0 on [object Object]

為什么源返回0 ,就像在嘗試訪問無效元素時的jquery一樣。 即使我將source記錄為鏈接功能的第一行,它也為0

這是為什么? 我已經嘗試過data-source="..."和各種各樣的東西。 有任何想法嗎?

屬性被讀取為JavaScript表達式,所以source="list-for-wf"被解釋為“變量list減去關鍵字for減去變量wf ”。 (我很驚訝Angular不會在該關鍵字上拋出錯誤而不是返回零,但是嘿。)

我認為您需要用引號引起來的字符串: <org-chart source="'list-for-wf'">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM