无法从视图中访问控制器范围

时间:2015-11-10 17:10:08

标签: angularjs

我需要在我的指令控制器中访问以下范围:“$ scope.historySelectionFieldValues”。我没有得到任何人口。这是我的看法。

查看

<ji-select-box ng-repeat="{{historySelectionFieldValues}}"></ji-select-box>

指令

angular.module('FormBuilder') 
        .directive('jiSelectBox', function () {
            return {
                restrict: 'E',
                transclude: true,
                scope: {},
                controller: function($scope){
                    $scope.historySelectionFieldValues = [
                        "Item1", //THIS IS MY ARRAY THAT I AM STUCK DISPLAYING
                        "Item2"
                    ];
                },                    
                template: function (element, attrs) {                   
                    var dxAttributes = "";
                    return '</div>' +
                        '<div class="dx-field-value" dx-select-box="{ ' + dxAttributes + ' }"></div>' +
                        '</div>'
                }
            }
        });

1 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点

  1. 您可以将该变量作为参数传递给指令。

    <jiSelectBox historySelectionFieldValues="historySelectionFieldValues">
    

    ....

  2. 您可以使用根范围。为此,您需要在指令中访问根范围,如下面的

  3. angular.module( 'FormBuilder')                  .directive('jiSelectBox',函数( $ rootScope ){         ....          });

    然后你可以在你的指令模板中使用它,如下所示:

    $root.historySelectionFieldValues