Angular.js - 识别通过路由或ng-controller调用的控制器

时间:2015-03-12 14:35:55

标签: javascript angularjs

我有一个名为'signin'的控制器

    app.controller('signin', function() {
      setPageTitle('Sign In');
    });

在路线中,我将此控制器路由到'/ signin'

另外,我使用同一个控制器通过指令

登录弹出窗口
<div class="popup" ng-controller="signin"></div>

调用此控制器时,页面标题将设置为“登录”,

一切正常,但问题是,

我不想在通过指令(ng-controller)

进行调用时设置pageTitle

我该怎么做?

之类的东西
    app.controller('signin', function() {
      if(viaRoute) {
         setPageTitle('Sign In');
      }
    });

1 个答案:

答案 0 :(得分:0)

在您的路线中,您可以通过解决方法将参数传递给控制器​​:

templateUrl: 'template.html',
controller: 'signin',
resolve: {
     viaRoute: function(){
        return true;
     }
},

在你的控制器中:

app.controller('signin', function(viaRoute) {
    if (viaRoute) {
        setPageTitle('Sign In');
    }
});