我有一个包含很多观点的应用。在大多数视图中,我在左侧有一个可切换的抽屉用于导航。但是,在一些视图中,我希望菜单改为后退按钮。
我正在尝试使用ng-click和数据绑定。
md-button ng-click="{{$scope.current.navBarFunction}}"
从我的路由中的属性navBarFunction动态注入ng-click函数的名称但是这不起作用,我不确定如何继续。
.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');
答案 0 :(得分:1)
如果没有看到更多代码,可能应该是:
ng-click="current.navBarFunction()"
不确定为什么路由器中的字符串值中有()
或者如何在指令或控制器中设置它。看到更多代码会有所帮助