Javascript Angular指令-范围返回0而不是值
我有以下的角度指示:Javascript Angular指令-范围返回0而不是值,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我有以下的角度指示: var OrgChartDirective = function() { return { restrict: 'AE', scope: { source : '=', container : '=', stack : '=', depth : '=', interactive: '='
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);
}
}
};
我将其添加到页面中,如下所示:
或
问题是,在我的控制台中,我看到:
在[object]上0处绘制组织结构图
为什么源代码返回0
,这就像您试图访问无效元素时的jquery。即使我将source
记录为链接函数的第一行,它也是0
为什么呢?我试过数据源=“…”
和各种各样的东西。有什么想法吗?属性被解读为javascript表达式,因此source=“list for wf”
被解释为“变量list
减去关键字for
减去变量wf
”。(我有点惊讶Angular没有在关键字上抛出错误而不是返回零,但是嘿。)
我想您需要一个带引号的字符串:
属性被读取为javascript表达式,因此source=“list for wf”
被解释为“变量list
减去关键字for
减去变量wf
”。(我有点惊讶Angular没有在关键字上抛出错误而不是返回零,但是嘿。)
我想你需要一个带引号的字符串:
你能试着把源代码:'='
改成源代码:'@'
吗?谢谢!将“=”更改为“@”意味着您很高兴您的源代码仅被绑定到一个方向。您是否可以尝试将source:'='
更改为source:'@'
这同样有效,谢谢!将“=”更改为“@”的含义是,您很高兴您的源代码仅被绑定一条路。