基于路线的动态更改ng-click的功能



我有一个具有很多视图的应用程序。在大多数视图上,我在左侧有一个可切换的抽屉进行导航。但是,在几个视图上,我希望菜单是一个返回按钮。

我正在尝试使用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()"

不确定为什么在路由器中的字符串值中具有(),或者在指令或控制器中如何设置它。查看更多代码将帮助

最新更新