Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 安格拉斯。访问指令范围中的变量_Javascript_Angularjs - Fatal编程技术网

Javascript 安格拉斯。访问指令范围中的变量

Javascript 安格拉斯。访问指令范围中的变量,javascript,angularjs,Javascript,Angularjs,我有以下指示 var chartDir = function () { return { scope: { stat: '=' }, link: function (scope, element, attr) { console.log(scope); return; } } HTML <svg chart stat="stat"></svg> 所以我看到所有的项目

我有以下指示

var chartDir = function () {
    return {
      scope: {
        stat: '='
      },
      link: function (scope, element, attr) {
        console.log(scope);
        return;
      }
}
HTML

<svg chart stat="stat"></svg>
所以我看到所有的项目和指令“颜色样本”工作良好。所以“stat”已加载。那么,为什么“颜色样本”指令有效而“图表”无效呢?

解决方案是

scope.$watch(attr.stat, function () {
而不是

scope.$watch(scope.stat, function () {

在执行指令之前,似乎尚未设置指令父项上的
stat
属性。当您查看控制台窗口时,已经有足够的时间设置
stat
属性OK。我了解控制台。但是我怎样才能把数据传递给Derecive。在这个块附近,我有另一个带有“stat”的块,它的加载非常好,所以“stat”被加载并存在(在控制器中,应该传递给这个directive)。我还将scope.$watch(scope.stat,function(){..)添加到了directive,但它仍然没有定义。当我加载'stat'时,如何呈现我的directive?
scope.$watch(scope.stat, function () {