gpt4 book ai didi

javascript - AngularJS 许多 Controller ng 设计 Material

转载 作者:行者123 更新时间:2023-11-28 00:24:50 25 4
gpt4 key购买 nike

NG-design-material 需要一个 Controller 来管理 ui 组件。但我还需要同一页面上的 Controller 来管理用户数据和逻辑(例如输入或计时器)。据此Q/A ,同一元素中不可能有两个 Controller 。所以问题是,做我想做的事情的最佳实践、更好的解决方案是什么?

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");
})}
}]);

在上面的例子中,“数据”应该在其他地方?

最佳答案

更好的做法是使用指令 md-buttonE 附加点击事件

指令

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

关于javascript - AngularJS 许多 Controller ng 设计 Material ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29643903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com