私は有望なmeteorフレームワークで遊んでいて、壁に当たっています。テンプレートのどこにでも{{#if something}}{{/if}}
を挿入すると、空のページがレンダリングされます。メテオテンプレートに#ifスペースバータグを挿入すると、空のページが表示されるのはなぜですか?
<head>
<title>MUse - XUse on Meteor</title>
</head>
<body>
{{> menu}} {{> login }}
{{> hello}}
</body>
<template name="hello">
<div class="hello">
<h1>This is Xuse on Meteor a.k.a. <em>MUse</em></h1>
</div>
</template>
<template name="login">
<div class="login">
<label for="username">Login:</label>
<input type="text" id="username" value="" placeholder="Login"/>
<label>Password:</label>
<input type="password" id="password" value="" placeholder="Password"/>
<input type="button" id="signin" name="signin" value="Sign in" />
</div>
</template>
<template name="dashboard">
<div class="dashboard">
Hi, {{login_name}}.
</div>
</template>
<template name="menu">
<nav>
<a href="/#dashboard">Dashboard</a> |
<a href="/#logout">Log out</a> |
{{#if login_name}}
<a href="/#{{login_name}}">{{login_name}}</a>
{{/if}}
</nav>
</template>
そして、念のためcoffeescript
コード: - 何よりも
if Meteor.is_client
Template.hello.greeting = -> "Welcome to muse."
Template.login.events =
'click #signin' : ->
console.log "You pressed the 'sign in' button" if console?
login_name = $('#username').val()
password = $('#password').val()
console.log "Credentials: #{login_name} -> #{password}" if console?
Template.menu.events =
'click a[href*="dashboard"]' : ->
console.log "Menu -> Dashboard invoked" if console?
'click a[href*="logout"]' : ->
console.log "Menu -> Log out invoked" if console?
if Meteor.is_server
Meteor.startup ->
time = new Date
console.log "#{time} Hi. This is server" if console?
すべてだこのテンプレートを考えてみましょう。 {{#if...}}
シーケンスを削除すると、適切なレンダリングが行われます。レンダリングが正しく行われたり、どこにでも配置されると、空のページがレンダリングされます。どんな手掛かり?
私はtodosの例を試しましたが、これはまったく同じマシン上で動作していたので、これはインストールの問題ではありません。ところで、マシンはUbuntu 12.04を搭載した不慣れな古いノートパソコンAsus A6Rpです。 CoffeeScriptの上に存在しない100%
Template.menu.login_name = function() {
return $('#username').val();
};
が、私は、あなたが画像を取得すると確信している:あなたがここに、正しいテンプレートにもコーヒースクリプトでのlogin_nameを定義する必要が
ありがとうございました。 – Rajish