0

我想在我的视图中显示$scope.predicate$scope.reverse值(在<p>标签中)。似乎使用{{ }}表达式不起作用。

应用程序.js:

 var app = angular.module('testApp', []);
 app.controller('TestController', function($scope,$http ){
 var vm = this;
 vm.rezdata = [];
 $http.get("some rest resource...")
      .then(function(response) {
          vm.rezdata =  response.data;
          $scope.predicate = 'username';
          $scope.reverse = true;
      });
});

HTML:

<body ng-app="testApp">
    <h1>Users table </h1>  
    <table class="table table-striped" ng-controller="TestController as test">
        <p> Sorting predicate {{predicate}}; reverse = {{reverse}} </p>
        <thead>
            <tr>
                <th>#</th>
                <th>
                    Username
                </th>
                ... 
            </tr>
        </thead>
        <tbody>     
            <tr ng-repeat="datafinal in test.rezdata" >  
                <td>{{ datafinal.id}} </td>
                <td>{{datafinal.username}} </td>
                ...
            </tr>
        </tbody>        
    </table>
</body>
4

1 回答 1

1

贴上标签ng-controller="TestController as test"body

此外,由于您controller as在使用控制器时使用语法,因此控制器上下文 ( this) 中的值可以通过其 alias 在 HTML 上访问test{{test.predicate}}; reverse = {{test.reverse}}应该管用。

但从技术上讲,您不应该在使用时在同一控制器中同时使用$scope& ,这将再次造成混乱。所以建议你改成.thiscontroller as$scopevm

<p>Sorting predicate {{predicate}}; reverse = {{reverse}}</p>
<table class="table table-striped" ng-controller="TestController as test">
   ...  
</table>
于 2016-02-18T19:43:02.493 回答