suchen

Heim  >  Fragen und Antworten  >  Hauptteil

angular.js - 两个direcitve如何获取值


两个不同的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

曾经蜡笔没有小新曾经蜡笔没有小新2744 Tage vor574

Antworte allen(1)Ich werde antworten

  • 某草草

    某草草2017-05-15 16:56:59

    使用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();
            }
        };
    });

    Antwort
    0
  • StornierenAntwort