我有一个具有很多视图的应用程序。在大多数视图上,我在左侧有一个可切换的抽屉进行导航。但是,在几个视图上,我希望菜单是一个返回按钮。
我正在尝试使用ng-click和databinding。
md-button ng-click="{{$scope.current.navBarFunction}}"
从我的路由中的属性navbarfunction中动态地注入名称,ng点击的功能,但是这不起作用,我不确定如何继续。
.when('/articles/:articleId', {
title: 'articles.title',
icon: 'arrow_back',
navBarFunction: 'backButton()',
templateUrl: 'views/articles/:articleid.html',
controller: 'ArticlesArticleidCtrl',
resolve: {
loggedin: checkLoggedin
}
})
此外,是否有使用当前路由在app.js中进行IF语句?那将简化事物。
编辑1:
这是我们控制器中的更多代码:
function navBack(pageID) {
$location.path( '/' + pageID );
}
function buildToggler(navID) {
var debounceFn = $mdUtil.debounce(function(){
$mdSidenav(navID)
.toggle()
.then(function () {
$log.debug('toggle ' + navID + ' is done');
});
},300);
return debounceFn;
}
$scope.toggleLeft = buildToggler('left');
$scope.navBackUsers = navBack('users');
$scope.navBackArticles = navBack('articles');
$scope.navBackClassrooms = navBack('classrooms');
而没有看到更多代码,它可能应该是:
ng-click="current.navBarFunction()"
不确定为什么在路由器中的字符串值中具有()
,或者在指令或控制器中如何设置它。查看更多代码将帮助