2017-03-16 9 views
0

私はalert-messageというEmberコンポーネントを用意しています。エラーメッセージの1つにID(ここではハードコードされています)が含まれています。IDをハイパーリンクにしてメッセージに表示したいと思います。Emberコンポーネントでハイパーリンクを返す

str.link()メソッドを使用すると、HTMLリンク要素のコードを表す文字列が作成されることがわかりました。私は現在持っている何

はこれをレンダリングする: "Cannot update this item with <a href="/items/31010-2001-20311">31010-2001-20311</a>."

私は実際のリンクに生成されたHTMLを有効にするにはどうすればよいですか?それともハンドルバーの部分でやっていなければならないことですか?私はレンダリング私のコンポーネントテンプレートで

{{alert-message errorMessage= errorMessage}}

import Ember from 'ember'; 
    export default Ember.Component.extend({ 
     errorMessage: function() { 
     const status = this.getWithDefault('status', ''); 
      if (status === '409') { 
      var id = 31010-2001-20311; 
      var idLink = id.link('/items/31010-2001-20311'); 
      return `Cannot update this item with ${idLink}.`; 
      } 
     { 
      return status; 
     } 
     }.property('status') 
    }); 

答えて

0

私はハンドルバーテンプレート/ビューではなく、コンポーネント内で(実際のリンクの表示)これに対処すべきだと思います。

これを解決するため、デフォルトでfalseに設定されているコンポーネントにspecificErrorプロパティを追加します。私のerrorMessageバリデーションで、この特定のケースに一致するエラーメッセージが発生した場合、specificErrorはtrueにトグルされますthis.toggleProperty('specificError')

私のハンドルバーテンプレートでは、このエラーが存在するかどうかをチェックし、エラーを表示します。

関連する問題