angular.js - 两个direcitve如何获取值
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-15 16:54:59
0
1
571


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

.directive('save',function(){
    return{
        restrict:'EAC',
        template:'<p class="saveBtn bottomBtn fl" id="btnSave"><img src="images/savePic.png"></p>',
        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代码

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

save取togglename中的goodName

曾经蜡笔没有小新
曾经蜡笔没有小新

Antworte allen(1)
某草草

使用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:'<p class="saveBtn bottomBtn fl" id="btnSave"><img src="images/savePic.png"></p>',
        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();
        }
    };
});
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage