angularjs 设计多个控制器 material
angularjs many controllers ng design material
Ng-design-material 需要一个控制器来管理 ui 组件。但我还需要在同一页面上有一个控制器来管理用户数据和逻辑(例如输入或计时器)。
根据这个 ,不可能在同一个元素中有两个控制器。
所以问题是,什么是最佳实践,更好的解决方案来做我想做的事?
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");
})}
}]);
在上面的例子中,"data"应该在别的地方?
更好的做法是使用指令 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
})
});
}
}
});
Ng-design-material 需要一个控制器来管理 ui 组件。但我还需要在同一页面上有一个控制器来管理用户数据和逻辑(例如输入或计时器)。
根据这个
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");
})}
}]);
在上面的例子中,"data"应该在别的地方?
更好的做法是使用指令 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
})
});
}
}
});