将参数传递给指令内的隔离范围

时间:2016-04-19 19:29:27

标签: angularjs angularjs-directive angularjs-scope

我试图将两个不同的参数传递给指令中的隔离范围。当我在控制台中注销值然后崩溃时我得到了真实但是对于infoCard我得到了错误的值。我的问题是为什么我得到假值infoCard在此先感谢。这是我的指示。

<display-info user="user" collapse="true" infoCard="true"></display-
info>

在我的控制器中,我收到了参数,

angular.module('myApp').directive('displayInfo', function() {
 return {
  templateUrl: "displayInfo.html",
  restrict: "EA",
  scope: {
   user: '=',
   initialCollapse:'@collapse',
   showInfo:'@infoCard'
  },
  controller: function($scope) {
   $scope.collapse = ($scope.initialCollapse === 'true');
   $scope.infoCard = ($scope.showInfo === 'true');
   console.log("collapse---->",$scope.collapse);
   console.log("displyInfo---->",$scope.infoCard);
  }
 }
});

这是plunker链接https://plnkr.co/edit/Gng7e4RRVvg8wPOnqQrk?p=preview

1 个答案:

答案 0 :(得分:1)

camel case 约定在指令

中有问题

试试这个。

<display-info user="user" collapse="true" test="true"></display-info>



 angular.module('myApp').directive('displayInfo', function() {
     return {
      templateUrl: "displayInfo.html",
      restrict: "EA",
      scope: {
       user: '=',
       initialCollapse:'@collapse',
       showInfo:'@test'
      },
      controller: function($scope) {
       $scope.collapse = ($scope.initialCollapse === 'true');
       $scope.infoCard = ($scope.showInfo === 'true');
       console.log("collapse---->",$scope.collapse);
       console.log("displyInfo---->",$scope.infoCard);
      }
     }
    });