angularjs从范围对象获取值

时间:2012-08-09 13:12:57

标签: javascript angularjs

我正在为我的结果做一个分页指令,我似乎无法克服这个问题。我有以下代码(coffeescript):

window.pagination_services = angular.module("pagination_services", [])
    .directive('paginate', ->
        {
            restrict: 'E',
            replace: true,
            templateUrl: '../../assets/app/partials/services/pagination.html',
            scope: true,
            link: ($scope, $element, $attrs) ->
                console.log $scope.results
        }
    )

正如您所看到的,我在$scope.results上有一个console.log,它返回:

e
    pagination: Object
        current_page: 1
        per_page: 20
        total_entries: 4097
        __proto__: Object
    sales: Array[20]
    __proto__: e

我需要能够访问该分页对象的值。类似的东西:

$scope.results.pagination.current_page

但是,无论我尝试什么,我都会被定义。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

看起来您的指令取决于包含“结果”的控制器,您可能希望将其作为依赖项注入此指令。

假设控制器被称为ResultsController

您可能想要执行类似

的操作
.directive('paginate', ->
        {
            restrict: 'E',
            replace: true,
            require : '^ResultsController'
            templateUrl: '../../assets/app/partials/services/pagination.html',
            scope: true,
            link: ($scope, $element, $attrs) ->
                console.log $scope.results
        }

希望这有帮助!

答案 1 :(得分:0)

您可能得出相同的结论......但您应该在结果(see scope doc)上创建一个监视并在访问之前检查新值。