2017-02-23 8 views
0

私は顧客リストを表示し、すべての顧客のページを編集するための機能をアプリケーションに持っています。以下は期待されるテンプレートまたはnull、見つかった:未定義

はHTML

<template name="customeredit"> 
    {{#customerData}} 
    {{fname}} 
    {{/customerData}} 
</template> 

JS Route.js

Router.route('/user/:userId', function() { 
    this.render('customeredit'); 
    this.layout('mainNav'); 
}); 

参照のための私のコードです:ユーザーがページを編集するためにリダイレクトするとき、私は "未定義の期待テンプレートまたはnull、見つかりました" エラーを取得しています

import { Template } from 'meteor/templating'; 
import { ReactiveVar } from 'meteor/reactive-var'; 

import '../templates/editUser.html'; 

import { Customers } from '../../imports/api/customers.js'; 

Template.customeredit.helpers({ 
    customerData: function() { 
     var customerId = 'NpWkSWRpkQJKsNecG'; 
     console.log(customerId); 
     console.log(Customers.findOne({_id: customerId})); 
    } 
}); 

また、ユーザーIDをmから取得する方法を教えてください私の生成されたURLは:http://localhost:3000/user/NpWkSWRpkQJKsNecGであり、ヘルパーで "NpWkSWRpkQJKsNecG"を取得する必要があります。

答えて

0

これはあなたの問題に対処し、あなたの質問に答えることを望みます。

  1. 「期待テンプレートまたはnull、found:undefined」というエラーが表示されるのはなぜですか?

ご質問のページのコードをすべて入力しましたか?その場合は、カスタムブロックヘルパー(例:{{#customerData}})を使用しているテンプレート定義に問題があると思われます。

このブロックヘルパーを定義しましたか?代わりにcustomerData Templateヘルパーを使用しようとしているのではないかと思います。その場合は、あなたのテンプレートの定義は次のようになります。

<template name="customeredit"> 
    {{customerData}} 
</template> 

テンプレートヘルパーの呼び出しは単に{{ }}に包まれています。

  1. URLからユーザーIDパラメータにどのようにアクセスしますか。

Iron Routerを使用すると、this.paramsを使用してルートパラメータにアクセスできます。通常は、まずデータを検索し、それをテンプレートに渡します。 例:

関連する問題