从角形材料延伸芯片

时间:2016-01-28 12:45:13

标签: angularjs angular-material

我正在尝试在名为md-chips

chip-filter之上创建一个图层

其中包含一些额外的功能;例如

  • 导航芯片(删除后,将用户重定向回特定网址)
  • 从应用程序中的任何位置添加芯片
  • ...

所以我完成了基础工作,在componentsRegistry中挂钩,并且可以从任何地方调用它。

但现在我正试图将筹码从chipFilterController转移到<md-chips>

HTML:

<chip-filter md-component-id="testId">
  <md-chips ng-model="chips">
    <md-chip-template>
      <strong>{{$chip}}</strong>
      <em>(type)</em>
    </md-chip-template>
  </md-chips>
</chip-filter>

和指令:

function chipFilterDirective($log) {
  function postLink(scope, element, attr, sidenavCtrl) {
    element.on("$destroy", function() {
      sidenavCtrl.destroy();
    });
  }

  return {
    restrict: "E",
    scope: {},
    controller: "chipFilterController",
    compile: function(element) {
      return postLink;
    }
  };
}

和控制器:

function chipFilterController($scope, $element, $attrs, $mdComponentRegistry, $q, $log) {
  var self = this;
  $scope.chips = [];
      function addChip(input, type) {
    var def = $q.defer();

    $scope.chips.push({
      name: input,
      type: type
    });

    def.resolve();
    return def.promise;
  }

  self.addNavigationChip = function() {
    return addChip("stuff");
  };
  self.addChip = function() {
    return addChip("stuff");
  };

  self.destroy = $mdComponentRegistry.register(self, $attrs.mdComponentId);
}

完整的代码: http://codepen.io/cskiwi/pen/eJryqK?editors=1010

1 个答案:

答案 0 :(得分:0)

<div id='id'> <div class="product" id="product-20625055">Product 1</div> <div class="product" id="product-66980342">Product 2</div> <div class="product" id="product-54722210">Product 3</div> </div>设置为false(或将其从对象中删除)使其正常工作