1

Ng-設計材料需要一個控制器來管理ui組件。但是我同樣需要一個控制器來管理用戶數據和邏輯(如輸入或計時器)。 根據這個Q/A,在同一個元素中不可能有兩個控制器。 所以問題是,什麼是最佳實踐,更好的解決方案來做我想要的?angularjs許多控制器ng設計材料

http://codepen.io/anon/pen/jEgYwd

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

app.controller('AppCtrl', ['$scope', '$mdSidenav', function($scope, $mdSidenav){ 

    $scope.data = ""; 

    $scope.toggleRight = function() { 
    $mdSidenav('right').toggle() 
     .then(function(){ 
     $log.debug("toggle RIGHT is done"); 
     })} 
}]); 

在上面的例子中, 「數據」 應該是別的地方?

回答

1

更好的事情會做附加點擊使用指令md-button事件與E

指令

app.directive('mdButton', function($log, $mdSidenav){ 
    return{ 
    restric: 'E', 
    link: function(scope, element, attrs){ 
     element.on('click', function(){ 
     $mdSidenav('right').toggle() 
     .then(function(){ 
      $log.debug("toggle RIGHT is done"); 
      scope.$eval(attrs.action); //you could pass any method which you want to run 
     }) 
     }); 
    } 
    } 
}); 

Working Codepen