Angularjs从控制器范围获取数据到指令范围

时间:2014-01-10 21:04:48

标签: angularjs

我正在尝试从资源获取数据然后添加它以隔离指令范围但是当我想将其打印到屏幕时我得到错误,因为未定义current_page这里是脚本

/**
     * Created by yigit on 10.01.2014.
     */
    var app = angular.module('kategori', [
        'ngResource',
        'apiBaseRoute'
    ]);

    app.factory('Data', ['$resource', 'apiBaseRoute', function($resource, config){
        return $resource(config.apiBasePath + 'kategori/?page=:page',{page:1},{
            query:{
                isArray: false,
                method: 'GET'
            }
        });
    }]);

    app.controller('KategoriListCtrl',['$scope', 'Data', function($scope, Data){

        $scope.allData = {data:null};
        Data.query({}, function(data){
            $scope.kategoriList = {data:data.cat.data};
            $scope.allData.data = data.cat;
        });
    }]);
    app.directive('paginate', function(){
        return{
            scope:{paginatorData: '=paginate'},
            link: function(scope){
                alert(scope.paginatorData.current_page);
            }
        }
    });



<!DOCTYPE html>
            <html ng-app="kategori">
            <head>
                <meta charset="UTF-8">
                <title></title>
                <link rel="stylesheet" href="css/bootstrap.min.css">
            </head>
            <body>
            <div class="col-md-6 col-md-offset-3" ng-controller="KategoriListCtrl">
            {{allData.current_page}}
                <div paginate="allData"></div>
            </div>

            <script src="js/lib/angular.min.js"></script>
            <script src="js/lib/angular-resource.js"></script>
            <script src="js/kategori.js"></script>
            <script src="js/apiroute.js"></script>
            </body>
            </html>

我读过这篇文章nested scope

但无法解决我的问题。

因此,代码警告未定义。我怎么解决这个问题?

1 个答案:

答案 0 :(得分:0)

你能展示你的HTML吗?你需要传递这样的属性:

<div data-paginate="paginate"></div>