MeteorとIron Routerの簡単なログイン、登録、ログアウトメニューを作成します。 Iron Routerパッケージを使用する前に、新しいユーザーを送信して簡単にログインまたはログアウトすることができました。したがって、私のHTML文書にこのコードがありました:Meteor - Ironでルートを追加した後にユーザーを送信できません。ログインと登録フォームに戻る
<body>
{{#if currentUser}}
{{> dashboard}}
{{else}}
{{> register}}<br>
{{> login}}
{{/if}}
</body>
ここで、ログインと登録フォームをルーティングします。ログインボタンを押すと、lochalhost:3000ログイン(これは正常に動作します)を取得する必要があります。
しかし私にはわからない:
- を、私は、新しいユーザーを提出できない理由はもう
- 私はダッシュボードのルートに成功したログインルートから変更することができますどのよう
- 、おそらくどうすればログアウトできますか(まだテストできませんでした)
私はJSとMeteorを初めて使いました。それでも私はインターネットで解決策を見つけたり、自分で修正する方法は見つけられませんでした。
私の完全な文書は次のようになります。
main.htmlと:
<head> <title>Routing</title> </head> <body> {{#if currentUser}} {{> dashboard}} <!--{{else}} {{> register}}<br> {{> login}} --> {{/if}} </body> <template name="main"> <h1>Text</h1> {{> navigation}} {{> yield}} <hr /> <p> Copyright © </p> </template> <template name="home"> <p> Welcome to the <b>Text</b> website. </p> </template> <template name="navigation"> <ul> <li><a href="{{pathFor route='home'}}">Home</a></li> <li><a href="{{pathFor route='register'}}">Register</a></li> <li><a href="{{pathFor route='login'}}">Login</a></li> </ul> </template> <template name="register"> <form> <input type="text" id="username"> <input type="text" id="email"> <input type="password" id="password"> <input type="submit" value="Register"> </form> </template> <template name="login"> <form> <input type="text" id="login-email"> <input type="password" id="login-password"> <input type="submit" value="Login"> </form> </template> <template name="dashboard"> <p> Yor're logged in. <a href="{{pathFor route='home'}}" class="logout">Logout</a> </p> </template>
main.js
Router.route('register'); // Default name is register Router.route('login'); // Default name is login Router.route('dashboard'); Router.route('/', { name: 'home', template: 'home' }); Router.configure({ layoutTemplate: 'main' }); if (Meteor.isClient) { Template.register.events({ 'submit form': function(event, template) { event.preventDefault(); var usernameVar = template.find('#username').value; var emailVar = template.find('#email').value; var passwordVar = template.find('#password').value; Accounts.createUser({ username: usernameVar, email: emailVar, password: passwordVar }) } }); Template.login.events({ 'submit form': function(event, template) { event.preventDefault(); var emailVar = template.find('#login-email').value; var passwordVar = template.find('#login-password').value; Meteor.loginWithPassword(emailVar, passwordVar); } }); Template.dashboard.events({ 'click .logout': function(event) { event.preventDefault(); Meteor.logout(); prompt("You successfully logged out"); } });
}
そして私は、コメントを追加しました:
iron:router
パッケージmeteor add accounts-ui accounts-password
こんにちは、答えてくれてありがとう。あなたは "meteor add useraccounts:iron-routing"を追加しましたか? "iron:router accounts-ui"とは何を意味しますか?コピー貼り付け後、あなたのバージョンは動作しません...私はまだ同じ問題を抱えています。 – LenC
私はちょうどように追加しました: 流星追加鉄:ルータ 流星アカウントを追加する - パスワード 簡単なサインアップとログインの詳細については、私はaccounts-uiのみを掲載しました。これはアカウントなしで動作しますが、このパッケージでは、{{> loginButtons}}を呼び出すだけで簡単にログインとサインアップを作成できます。 –
ありがとう:)別の方法は、Router.go( "path")を追加することです。 – LenC