从控制器访问指令的隔离范围的属性

时间:2014-11-26 17:12:44

标签: angularjs angularjs-directive angularjs-scope angularjs-controller

我正在尝试访问我指令的隔离范围的属性。我对angularJS略感新,所以我不确定这是否真的可行。

以下是我的代码:

    angular.module('myModule').directive('myDirective', function() {
            return {
                restrict: 'EA',
                require: 'ngModel',
                scope: {
                    type: '=',
                    fName: '=',
                    lName: '=',
                },
                templateUrl: '...'
            };
        }
    );

    angular.module(myModule).controller('myCtrl', [
        '$scope',
        function($scope) {
        $scope.openLink= function() {
            if ($scope.type === 'member') { //Here is where I want to access the type from the scope of the directive!
                $window.open('http://wwww.google.com, 'myWindow', 'menubar=0, width=600, height=680, scrollbars=yes, resizable=yes, top=180, left=350');
            }
        };
    }
]);

如果有人可以提供协助,我将不胜感激。

非常感谢

1 个答案:

答案 0 :(得分:0)

是的,你可以这样做。你必须将'type'属性添加到你的控制器范围,你已经将'type'传递给指令作为值(参考),然后在链接函数或指令中设置你的'type'指令控制器。

<tr data-pk="123">
    <td>...qta...</td>
    <td>...name...</td>
    <td>...description...</td>
</tr>