3

レイアウトを共有するページがいくつかあります。angularを使用する予定の新しいページをいくつか追加しています。html子ページで要素属性 aに追加できるように、テンプレートを設定する方法を見つけようとしていますng-app='xyz'

例えば

_layout.gsp

<html lang="en"  >

child.gsp を実行したい -

<html ng-app='angularApp'>
<meta name="layout" content="layout">

しかし、明らかに、それは機能しません。これを達成する簡単な方法はありますか?

コンテンツ パターンを使用する方法はありますか? 私は試した...

//child.gsp
<meta name="angularApp" content="angularApp"/>

//layout.gsp
<html lang="en" <%  meta(name: 'angularApp')? "ng-app='${meta(name: 'angularApp')}'":"" %> >

しかし、それは何の結果にもなりません...

4

2 に答える 2

9

ビューで使用されている _layout.gsp で:

<html lang="en" ${pageProperty(name:'page.ngapp')} > ...... </html>

その後、以前のレイアウトを使用する後続の gsp ビューで値を変更できます。

<content tag="ngapp">ng-app='angularApp'</content>

編集:私が使用していたgrailsの新しいバージョン(2.4.4)では、引用符なしで属性と値の組み合わせを指定する必要がありました:

<content tag="ngapp">ng-app=angularApp</content>

最後に、レンダリングされたビューには、必要なものがすべて含まれます。

<html lang="en" ng-app="angularApp" > ..... </html>
于 2013-06-17T15:56:03.770 に答える
1
//layout.gsp
<html lang="en" ng-app="angularApp">

//child.gsp
<meta name="layout" content="layout"/>

angular アプリはメイン (親) レイアウトに挿入され、必要に応じてすべての子ビューで使用できるようになります。ng-view単一ページのアプリケーションに興味がある場合にも使用できます。

于 2013-06-17T18:37:51.390 に答える