使用ng-单击md-tab标签

Ell*_*one 9 html javascript angularjs angular-material

我遇到了麻烦md-tabs:每当我点击要显示的特定选项卡时,我都无法调用控制器功能.

以下是我尝试的几个代码:

<md-tabs md-center-tabs id="menuTabs" md-dynamic-height="true" ng-click="focusSearch()">

            <md-tab label="<i class='fa fa-search'></i>" ng-if="handleResize()">
                <md-content class="control-sidebar-dark" ng-style="{'height' : menuHeight}">
Run Code Online (Sandbox Code Playgroud)

<md-tabs md-center-tabs id="menuTabs" md-dynamic-height="true">

            <md-tab label="<i class='fa fa-search' ng-click='focusSearch()'></i>" ng-if="handleResize()">
                <md-content class="control-sidebar-dark" ng-style="{'height' : menuHeight}">
Run Code Online (Sandbox Code Playgroud)

<md-tabs md-center-tabs id="menuTabs" md-dynamic-height="true">

            <md-tab ng-click="focusSearch()" label="<i class='fa fa-search'></i>" ng-if="handleResize()">
                <md-content class="control-sidebar-dark" ng-style="{'height' : menuHeight}">
Run Code Online (Sandbox Code Playgroud)

我希望focusSearch()在单击此选项卡时调用我的函数,但她从不这样做.

Tre*_*vor 24

尝试使用这些内置md-tab属性

  • md-on-select
  • md-on-deselect

var app = angular.module('myapp', ['ngMaterial']);

app.controller('main', function($scope) {

  $scope.myClickEvent1 = function() {
    alert('one selected');
  }

  $scope.myClickEvent2 = function() {
    alert('two selected');
  }

});
Run Code Online (Sandbox Code Playgroud)
<link href="https://cdnjs.cloudflare.com/ajax/libs/angular-material/0.11.0/angular-material.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular-aria.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.6/angular-animate.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-material/0.11.0/angular-material.min.js"></script>

<div ng-app="myapp" ng-controller="main">
  <md-tabs>
    <md-tab md-on-select="myClickEvent1()">One</md-tab>
    <md-tab md-on-select="myClickEvent2()">Two</md-tab>
  </md-tabs>
</div>
Run Code Online (Sandbox Code Playgroud)

注意:此事件与ng-click略有不同,因为如果已选择并单击选项卡,则不会触发事件.

资料来源:https://material.angularjs.org/latest/#/api/material.components.tabs/directive/mdTab