无法在另一个指令的模板中访问作为指令的属性

时间:2014-11-27 05:39:27

标签: angularjs node.js file-upload angularjs-directive

我的自定义指令是“testapp”。我想在其模板中访问“文件模型”的值,该模板将包含要上载的文件对象。无论我做什么都无法获得价值,它显示“未定义”。请提出解决此问题的方法。

app.directive('testapp', function ($compile) {
    return {
        restrict: 'E',
        scope: {
            text: '@',
            filem: '=fileModel'             
        },
        require:'fileModel',
        replace:true,
        template: '<div class="col-xs-4" style="padding-left:0px"><div class ="jumbotron" id="Section1"><input type="text" name="id" id="section{{incr}}" placeholder="Section Heading" class="form-control"><form id="addLIForm1"><div ng-repeat="i in range(fileIncr) track by $index"><input type="text"  name="file{{incr}}{{$index+1}}" id="file{{incr}}{{$index+1}}"  class="form-control" placeholder="File Name" style="width:50%" ><input type = "file"  id="path{{incr}}{{$index+1}}" file-model = "file{{incr}}{{$index+1}}"></div></form><a id="addMore" ng-click="addfile()" href="#">Add More File</a><a id="addMoreSec1" ng-click="add()" class="pull-right" href="#" ng-show="showValue">Add More Section</a></div></div>',
        controller: function ($scope, $element,$window) {

            $scope.incr=$window.globalIncr;
            $scope.fileIncr=$window.globalfileIncr;
            $scope.showValue=$window.globalsectionValue;
            $scope.add = function () {
                $window.globalsectionValue=false;
                $window.globalIncr+=1;
                $window.globalfileIncr=1;
                var el = $compile("<testapp></testapp>")($scope);
                $element.parent().append(el);
                //alert($window.globalfileIncr);
                //alert($element.parent().parent());
            };

            $scope.range=function(n)
            {
                return new Array(n);
            }

            $scope.addfile=function(){
            alert($scope.filem);

                $scope.fileIncr+=1;
                $window.counterObject[$scope.incr] = $scope.fileIncr;
            };
        }
    };
});

0 个答案:

没有答案