2017-02-28 6 views
0

スペースバーが変数をモーダルに渡すことができるJavaScriptに行かない方法はありますか?例えば変数をスペースバーを介してモーダルに渡す

、私は試してみてください。

<button type="button" id="genbtn" data-toggle="modal" data-target="#entryModal">Pass</button> 
{{> newentry var=item}} 

それはモーダルの内部で動作しません:

<template name="newentry"> 
{{#with var}}It displays here!{{/with}} 
<div id="entryModal" class="modal fade" role="dialog"> 
{{#with var}}Does not display here!{{/with}} 

(モーダルの残りの部分はうまく動作します)

私は理解できません変数がテンプレートに入ることはできますが、モーダルを過ぎることはできません。さもなければ、モーダルの非var関連関数は正常に機能します。なぜこれは中断しますか?克服できますか?もしそうなら、どうですか?

注:これはJavaScriptに行かないとうまくいかない場合、私はそれを行うことができますが、この問題に対する間違った解決策のように感じます。

+0

あなたは項目が定義されていることを確認していますか?あなたはvarより別の名前を試すことができますか?それは予約語かもしれません。ちょっとしたテキストを表示する必要がある場合、なぜ{{#if}}を使用しないのですか? – xunga

+0

私は 'var'を使用していません。これが例です。私がテンプレートに渡す変数は、モーダルクラス内でうまく動作します。 #ifを使って#whenを使用する場合、私はdivの外側で作業するのと全く同じ動作をしますが、内部では動作しません。 – CodeDragonDM

答えて

0

私は最近、よりスリムな問題を抱えていました。私は以下のコードを使用しており、それは完璧な作業です。 USERTYPE前../に注意してください

<div class="panel panel-{{currentColor ../userType}} user-info"> 

{{>userInfo userId=customer._id userType='Customer'}} 

は、ユーザ情報テンプレートに私はUSERTYPEを得ました。そして私もようJSでのuserIdを使用しています:

relatedUser: function(){ 
     return Meteor.users.findOne({_id: Template.currentData().userId}) 
} 

は私の例が役立つことを願ってヘルパーとしてやっているようなので、その

Template.currentData().userId 

は、どのような方法で使用することができます:)

更新

newentryテンプレートのヘルパーを次のように作成します。

myReactiveHelper: function(){ 
    return Template.currentData().var 
} 

、次にようvarするのではなく、ヘルパーテンプレートのバインドに:

{{#with myReactiveHelper}}Does not display here!{{/with}} 
+0

私のために何もしていないようです。今のところ私の問題を回避するためにJavaScriptを使用する必要があるように見えます。なぜモーダルクラスが私のデータコンテキストを破壊するのか分かりません! – CodeDragonDM

+0

@CodeDragonDMは 'var'を他の名前に変更し、ネストされたモデルレイヤーを考慮します。子モデル内にモデルがある場合、 '../../ varname'として使用することがあります –

+0

'var'は私が使用している名前ではなく、単なる例です。再び適切な変数名を使用すると、データをテンプレートに渡しますが、モーダル 'div'に行く前に死ぬだけです。 '../varname'または '../../varname'を使用しても動作しません。 – CodeDragonDM

0

私は流星テンプレートにラップあなたのモーダルJquery lightbox_meプラグインを使用する方が良いと簡単なことだと思います。 たとえば、

$body = $('body') 
UI.render Template.release_info, $body[0] //rendering template 
$popup = $body.find("#releases-info-popup-container") // modal Id 
$popup.lightbox_me 
    centered: true 
    destroyOnClose: true 

テンプレート

<Template name="release_info"> 
    <div id="releases-info-popup-container"> 
    </div> 
</Template> 
関連する問題