首页 > 两个direcitve如何获取值

两个direcitve如何获取值


两个不同的DIRECTIVE如何取对应scope中的值
JS代码

.directive('save',function(){
    return{
        restrict:'EAC',
        template:'<div class="saveBtn bottomBtn fl" id="btnSave"><img src="images/savePic.png"></div>',
        scope:{ goodsName: '@goodName'},
        link:function(scope,element,attrs){
            var childElem = element.find('toggleName');
            var childScope = childElem.isolateScope();
            element.on('click', function() {
                    var jsonData = scope.goodName;
                    alert(jsonData);            
            });
        }
    };
});
 .directive('toggleName', function() {
        return {
            restrict: 'ECA',
            templateUrl: 'views/partials/toggleName.html',
            transclute: true,
            link: function(scope, element, attrs) {
                scope.toggleName = function() {
                    scope.isSuccessName = !scope.isSuccessName;
                };
            }
        };
    })

HTML代码

 <div class="realInputCon fr">
        <input type="text" maxlength="255" placeholder="请输入" class="realCodeField realFieldCommon" ng-model="goodName">
    </div>

save取togglename中的goodName


使用require就搞定了


 .directive('toggleName', function() {
        return {
            restrict: 'ECA',
            templateUrl: 'views/partials/toggleName.html',
            controller: function($scope) {
                $scope.goodName = 'togglename';
                this.getName = function() {
                    return $scope.goodName;
                };
            },
            transclute: true,
            link: function(scope, element, attrs) {
                scope.toggleName = function() {
                    scope.isSuccessName = !scope.isSuccessName;
                };
            }
        };
    })

.directive('save',function(){
    return{
        restrict:'EAC',
        template:'<div class="saveBtn bottomBtn fl" id="btnSave"><img src="images/savePic.png"></div>',
        require: 'toggleNmae',
        link:function(scope,element,attrs, toggleNameController){
            var childElem = element.find('toggleName');
            var childScope = childElem.isolateScope();
            element.on('click', function() {
                    var jsonData = scope.goodName;
                    alert(jsonData);            
            });
            //这里就是toggleName控制器的使用了
            toggleNameController.getName();
        }
    };
});
【热门文章】
【热门文章】