过滤器

ndoojs支持自定义过滤器,对整个app生效。过滤器有before、after两种情形,过滤器支持only、except修饰。

1. 前置过滤器 beforeFilter

使用before声明,过滤器方法后缀为Filter。过滤器方法接受两个参数,actionName为当前action的名称,params为传递的参数。例:

before: {
  filter: 'before'
},

beforeFilter: function(actionName, params) {
  alert('before filter');
},

indexAction: function(params){
  var $content;
  $content = $('#content');
  $content.html('module: home, action: indexAction');
}

同一修饰的多个过滤器以空格分隔。例:

before: {
  filter: 'before1 before2 before3'
}

2. 后置过滤器 afterFilter

后置过滤器使用after声明,其它同前置过滤器。

3. only修饰

only表示过滤器只针对指定的action。

before: {
  filter: 'before',
  only: 'index'
},

beforeFilter: function() {
  alert('before filter');
},

indexAction: function(params){
  var $content;
  $content = $('#content');
  $content.html('module: home, action: indexAction');
}

多个修饰之间以空格分隔。例:

before: {
  filter: 'before',
  only: 'index product about contact'
}

4. except修饰

except表示过滤器针对在除except以外的action上。

4. 多个过滤器

ndoojs支持定义多个过滤器,以针对不同应用,将过滤器声明为数组即可。例:

before: [{
  filter: 'before',
  only: 'index'
}, {
  filter: 'before1',
  only: 'index about'
}]