Angular如何从指令

时间:2016-04-10 17:50:40

标签: angularjs

我正在学习角度。所以坚持从指令访问控制器范围。 $ scope.vojta 已填入控制器,我喜欢从指令打印。

<div ng-controller="Controller">
  <my-customer ></my-customer>
</div>

angular.module('docsIsolationExample', [])
.controller('Controller', ['$scope', function($scope) {
  //$scope.naomi = { name: 'Naomi', address: '1600 Amphitheatre' };
  $scope.vojta = { name: 'Vojta', address: '3456 Somewhere Else' };
}])
.directive('myCustomer', function() {
  return {
    restrict: 'E',
    /*
    scope: {
      customerInfo: '=info'
    },
    */
    template: 'Name: {{vojta.name}} Address: {{vojta.address}}'

  };
});

没有姓名或地址正在打印。无法理解我犯错误的地方。寻找一些建议。这里是小提琴https://jsfiddle.net/tridip/3g9yddf5/

1 个答案:

答案 0 :(得分:4)

由于customerInfo: '=info'在隔离的指令范围内,您应该从info属性(用作属性别名)传递值,以便customerInfo范围变量可以使用它在指令内。

<my-customer info="vojta"></my-customer>

然后更改指令模板以使用已通过客户信息的customerInfo

template: 'Name: {{customerInfo.name}} Address: {{customerInfo.address}}'

Demo Fiddle