目次
パート 6 では、編集機能を紹介しました。ブログ投稿の 1 つを削除することも必要になるでしょう。この関数を配置する場所は 2 つあります。
いつものように、URL パターンを追加することから始めます:
次に、管理ページのリンクを更新します:
次に、これを処理するために新しい
/del/
edit
Parse.User.logOut()
ステップ 2: WriteBlogView に概要を含める
#write-tpl
第 3 步:在主页上显示摘要
第 4 步:添加 SingleBlogView 页面
结论
ホームページ ウェブフロントエンド htmlチュートリアル Parse.js でブログを始めましょう: 個々のブログ投稿を削除、ログアウト、表示します

Parse.js でブログを始めましょう: 個々のブログ投稿を削除、ログアウト、表示します

Sep 11, 2023 pm 08:13 PM

开始使用 Parse.js 创建博客:删除、注销和查看个人博客文章

前回のセッションでは、ブログ システム全体を再構築しました。すべてが片付いたので、新しい冒険に取り組む準備が整いました。このセッションでは、ルーターに関してもう少し作業を行い、削除、ログアウト、および単一のブログ ビューという 3 つの機能をブログ システムに追加します。

###1。消去###

パート 6 では、編集機能を紹介しました。ブログ投稿の 1 つを削除することも必要になるでしょう。この関数を配置する場所は 2 つあります。

BlogsAdminView

に追加するか、URL に送信して Router で処理します。 ルーターの方法を紹介します。これはより一般的に使用され、コードがより構造化されます。

ステップ 1: URL パターンを追加する

いつものように、URL パターンを追加することから始めます:

リーリー

ステップ 2: リンクを削除する

次に、管理ページのリンクを更新します:

リーリー

ステップ 3: 関数の削除

次に、これを処理するために新しい

del

関数を Router に追加しましょう。それは非常に簡単です。URL から渡した id を使用してブログ投稿を見つけ、それを破棄します。 コードを読まずにコードを書くことに挑戦してみてください。この時点で、Parse.js について十分に理解しているはずです。

リーリー

ここでは、以前のようにオブジェクトを渡す代わりに、

.then()

関数を使用できることに注意してください。 リーリー これは、Parse.js にコールバック関数を追加する簡単な方法で、コードをよりクリーンで読みやすくします。 Promise に関する完全なドキュメントについては、Parse.com にアクセスしてください。

テストを実行して、データベースが正しく動作しているかどうかを再確認してみましょう。

おめでとうございます。うまくいきました! 开始使用 Parse.js 创建博客:删除、注销和查看个人博客文章

ステップ 4: 管理ページにリダイレクトして戻ります

URL に注目すると、警告ボックスをクリックして外した後も、URL は

/del/

のままで、削除したばかりの投稿がまだ存在していることがわかります。削除後にユーザーを管理ページに戻したいと思います。ページが更新されて、ユーザーが加えた変更が反映されるはずです。

リダイレクトを使用してこれらすべてを実現できます: リーリー

今回はルータ内から

navigate

を呼び出しているため、ルータを

self として保存してから self.navigate() を呼び出すことができることに注意してください。 。 ステップ 5: ログインを確認する

最後に、ブログ投稿を削除できるのはあなただけであることを確認する必要があります。この機能のログインを確認してみましょう。これは

edit

関数と同じである必要があります。

リーリー ###2。ログアウト### 削除と同様に、ログアウトもルーターによって処理できます。また、URL パターンを追加することから始まります: リーリー

Parse.js のログアウト機能自体は非常にシンプルです。

Parse.User.logOut()

を呼び出して、

/login

ページにリダイレクトするだけです。 リーリー

最後に、#admin-tpl にボタンを追加しましょう: リーリー

ご覧のとおり、スタイルは実際にはこのチュートリアルの焦点では​​ありません。パディングを自由に修正して、お好みのスタイルに仕上げてください。 ###3。単一のブログビュー

それでは、いくつかの新機能に移りましょう。 开始使用 Parse.js 创建博客:删除、注销和查看个人博客文章

現時点では、ブログ投稿全体をホームページに表示しています。このスタイルを好む人もいますが、ほとんどのブログ システムは、スニペットの抜粋を事前に提供するというアイデアをサポートしており、訪問者が記事をクリックすると、別のページにコンテンツが表示され、その周囲にコメント領域が表示される場合があります。

このセッションでは、この詳細な単一ブログ ビューの作成手順を説明し、次のセッションではコメントの作成に焦点を当てます。

ステップ 1: 概要列を追加する

まず、概要として列をブログ テーブルに追加します。

ステップ 2: WriteBlogView に概要を含める

次に、これを

Blog.update()

関数に追加しましょう。タイトル、概要、コンテンツを含むデータ オブジェクトを取得するように関数を変更すると、変数の順序を覚えておく必要がなくなります。 开始使用 Parse.js 创建博客:删除、注销和查看个人博客文章 リーリー

#write-tpl

に別の

<textarea> を概要として追加します:

	// Put this form-group in between the form-group for title and content
	
		Summary
		{{summary}}
	
ログイン後にコピー

并相应地更改 WriteBlogView.submit() 函数:

	submit: function(e) {
		...
		this.model.update({
			title: data[0].value, 
			summary: data[1].value,
			content: data[2].value
		});
	}
ログイン後にコピー

现在,由于我们在模板中添加了一个新变量,因此我们需要在 WriteBlogView.render() 函数中为其指定一个默认的空值:

	render: function(){
		...
		
		if (this.model) {
			...
		} else {
			attributes = {
				form_title: 'Add a Blog',
				title: '',
				summary: '',
				content: ''
			}
		}
		...
	}
ログイン後にコピー

如果您对内容使用 wysihtml5 插件,您会注意到之前我们的目标是所有 <textarea> 元素:

this.$el.html(this.template(attributes)).find('textarea').wysihtml5();
ログイン後にコピー

让我们为内容文本区域指定一个类,并仅使用 wysihtml5 插件来定位该类。

#write-tpl中:

	{{{content}}}
ログイン後にコピー

WriteBlogView.render()函数中:

this.$el.html(this.template(attributes)).find('.write-content').wysihtml5();
ログイン後にコピー

现在可以使用了!

开始使用 Parse.js 创建博客:删除、注销和查看个人博客文章

第 3 步:在主页上显示摘要

使用新的撰写博客页面并添加一些带有摘要的博客文章,并提取摘要而不是#blogs-tpl中的内容:

	{{#each blog}}
	
		{{title}}
		At {{time}} by {{authorName}}
		{{summary}}
	
	{{/each}}
ログイン後にコピー
ログイン後にコピー

第 4 步:添加 SingleBlogView 页面

花一点时间考虑一下如何添加 /blog/:id 页面来显示每篇博客文章的内容,并尝试自己完成。您现在应该能够自己完成这一切了!

但为了本教程的目的,让我给您快速演练:

为此页面添加新的 HTML 模板:

	
		<div class="blog-post">
			<h2 class="blog-post-title">{{title}}</h2>
			<p class="blog-post-meta">At {{time}} by {{authorName}}</p>
			<div>{{{content}}}</div>
		</div>
	
ログイン後にコピー

添加一个新的 BlogView 类,该类接受 blog 对象,并将其呈现在 #blog-tpl 中:

	BlogView = Parse.View.extend({
		template: Handlebars.compile($('#blog-tpl').html()),
		render: function() { 
			var attributes = this.model.toJSON();
			this.$el.html(this.template(attributes));
		}
	}),
ログイン後にコピー

BlogRouter 中添加新的 URL 模式:

	routes: {
		...
		'blog/:id': 'blog',
		...
	}
ログイン後にコピー

并在 BlogRouter.blog() 函数中,通过 id 获取博客,渲染一个 blogView,并将其放入 $container:

	blog: function(id) {
		var query = new Parse.Query(Blog);
		query.get(id, {
			success: function(blog) {
				console.log(blog);
				var blogView = new BlogView({ model: blog });
				blogView.render();
				$container.html(blogView.el);
			},
			error: function(blog, error) {
				console.log(error);
			}
		});
	}
ログイン後にコピー

最后,更新#blogs-tpl中的链接以链接到此页面:

	{{#each blog}}
	
		{{title}}
		At {{time}} by {{authorName}}
		{{summary}}
	
	{{/each}}
ログイン後にコピー
ログイン後にコピー

尝试一下:

开始使用 Parse.js 创建博客:删除、注销和查看个人博客文章

如果您自己完成此操作,可加分。

结论

在本次会议中,您构建了很多内容:删除功能、注销功能和另一种新页面类型。如果您到目前为止一直在关注本教程系列,我认为您对数据库、模型、视图、模板和路由器如何协同工作有深入的了解。我希望您现在也开始喜欢构建 Parse.js 项目。请留下您的反馈并告诉我是否有帮助。

通过我们这次构建的这个单一博客文章页面,我们下次将添加评论部分。应该是一件有趣的事。敬请关注!

以上がParse.js でブログを始めましょう: 個々のブログ投稿を削除、ログアウト、表示しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

See all articles