2016-07-30 7 views
1
$stateProvider.state('abc', { 
       url: '/:id', 
       modal: true, 
       template: '<abc></abc>' 
      }) 

テンプレートプロパティにカスタムhtmlタグを使用できますか? 'abc'、私は他の誰かのコードを見ていたが、私はこれがどのように動作するのか理解していない、私はgccのtemplatecacheのものでabc.htmlを処理している。モーダルダイアログに正しくロードされます。角度ui-route状態テンプレートとカスタムhtmlタグ

ファイルは 'src/app/components/abc/abc.html'にありますが、テンプレート 'abc'は読み込むHTMLをどのように知っていますか?どこかで 'abc'ディレクティブの定義がなければならないと思いますか?私はそれを見つけることができません。

+0

これは、ディレクティブでなければなりません。 –

+0

私はそう思うが、全体的なソリューションを検索したところ、定義されたディレクティブはどこにも見つからなかった。 – Zhongmin

答えて

0

私はもちろんのテンプレートプロパティでカスタムのHTMLタグを

はいを​​持つことができます。テンプレートはどのようにしてもカスタムディレクティブを使用できますthey are defined

モジュールコードまたはその依存関係のいずれかに 'abc'ディレクティブがあるはずです。

モジュールとサブモジュールの登録済みディレクティブをコンソールに表示するには、this SO questionを参照してください。

+0

私はどこでも定義されたabcを見つけることができません......私はあなたのコードを使用してディレクティブをリストしましたが、何も見つかりません – Zhongmin

0

はい、カスタムhtmlを使用できます。 UIルータには、templateまたはtemplateUrlのいずれかを指定することができます。最初は文字列リテラルにhtmlを記述する必要があり、後者はhtmlファイルの場所を設定できます。 htmlファイルとtemplateUrlを使用して

$stateProvider.state('abc', { 
    url: '/:id', 
    modal: true, 
    template: '<abc></abc>' // this is correct! 
}) 

:文字列リテラルでtemplateを使用して

$stateProvider.state('abc', { 
    url: '/:id', 
    modal: true, 
    templateUrl: '/path/to/abc.html' // if you have a file named `abc.html` in directory `path/to`, the template will be loaded 
}) 
+0

ディレクティブを定義せずにカスタムhtmlを使用することは可能でしょうか? – Zhongmin

+0

はい、技術的には可能ですが、それは良い方法ではありません – CozyAzure

関連する問題