0

extjs4.1 で開発したアプリに水平ナビゲーション バーを追加したいので、この目的のためにビューポートにツールバーを追加します。

var toolbar = Ext.create('Ext.toolbar.Toolbar', {
    id: 'header',
    region: 'north',
    items: [
        {
            // xtype: 'button', // default for Toolbars
            text: 'Button'
        },
        {
            xtype: 'splitbutton',
            text : 'Split Button'
        },
        // begin using the right-justified button container
        '->', // same as { xtype: 'tbfill' }
        {
            xtype    : 'textfield',
            name     : 'field1',
            emptyText: 'enter search term'
        },
        // add a vertical separator bar between toolbar items
        '-', // same as {xtype: 'tbseparator'} to create Ext.toolbar.Separator
        'text 1', // same as {xtype: 'tbtext', text: 'text1'} to create Ext.toolbar.TextItem
        { xtype: 'tbspacer' },// same as ' ' to create Ext.toolbar.Spacer
        'text 2',
        { xtype: 'tbspacer', width: 50 }, // add a 50px space
        'text 3'
    ]
});
var viewport = Ext.create('Ext.Viewport', {
    layout: {
        type: 'border',
        padding: 5
    },
    defaults: {
        split: true
    },
    items: [toolbar,{

しかし、どのタイプのユーザーにも特定のナビゲーション バーがあるため、サーバー経由で水平ナビゲーション バーを作成したいと考えています。これはextjs4のツールバーです。それを行う別の方法はありますか?または、サーバーを介して任意のユーザーのツールバー項目を作成するにはどうすればよいですか?

4

1 に答える 1

1

たとえば、ログインすると、ツールバーに関連するユーザーアクセスでサーバーデータから戻ります(または、このデータを取得する方法は何でも)。ビューを管理するコントローラーがあります。ビューにはツールバーが含まれています。ただし、デフォルトではツールバーは非表示になっています。showAdminButtons()、showSimpleUserButtons() などのツールバー メソッドを追加できます。ユーザーアクセスでサーバーデータから取得するとすぐに、ユーザーが何であるかを確認し、必要なビューメソッドを呼び出します。ただし、ユーザーの操作中にツールバーを変更する必要がある場合は、必要なすべてのボタンを作成し、必要なものだけを適切なタイミングで表示/非表示にすることをお勧めします。これにより、DOM で毎回ボタンを作成することができなくなります。それ以外の場合は、ツールバーを 1 回だけ作成する場合 - たとえば、メソッド showAdminButtons() でこのボタンを作成します。そして、しないでください ルールを忘れる - クライアントからのデータを信用しない。そして、このアクションの実行が許可されているかどうかを確認してください。

于 2012-12-08T19:40:30.703 に答える