首先,讓我告訴你我是JavaScript和node.js世界的新手。我一直在尋求幫助,試圖做我想做的事,但還沒有找到。在MEAN棧中創建搜索文章功能
我正在使用MEAN堆棧(http://mean.io/),我試圖在包含的文章模型中實現搜索功能。搜索將查找具有特定標籤的文章,並將在索引頁中實施。跟我來,看看你是否能找到我失蹤的請。
在後端:
應用程序/模型/
/**
* Article Schema
*/
var ArticleSchema = new Schema({
created: {
type: Date,
default: Date.now
},
title: {
type: String,
default: '',
trim: true
},
content: {
type: String,
default: '',
trim: true
},
tag: {
type: String,
default: '',
trim: true
},
user: {
type: Schema.ObjectId,
ref: 'User'
}
});
應用程序/控制器/
exports.searcharticle = function(req, res) {
Article.find({'tag': req.params.tag}).sort('-created').populate('user', 'name username').exec(function(err, articles) {
if (err) {
res.render('error', {
status: 500
});
} else {
res.jsonp(articles);
}
});
};
增加了對應用程序/路由/ articles.js搜索路線
app.get('/articles/search/:tag', articles.searcharticle);
在前端:
創建的搜索至極將顯示搜索結果的看法 - 大衆/視圖/條/ search.html
<section data-ng-controller="ArticlesController" data-ng-init="searchart()">
<ul class="articles unstyled">
<li data-ng-repeat="article in articles">
<span>{{article.created | date:'medium'}}</span>/
<span>{{article.user.name}}</span>
<h2><a data-ng-href="#!/articles/{{article._id}}">{{article.name}}</a></h2>
<div>{{article.tag}}</div>
</li>
</ul>
<h1 data-ng-hide="!articles || articles.length">Your search hasn't returned any results. <br> Why don't you <a href="/#!/articles/create">Create One</a>?</h1>
</section>
的index.html的,其中的觀點搜索框將實施
<section data-ng-controller="ArticlesController">
<form role="form" data-ng-submit="searchart()">
<div>
<div>
<input type="text" id="tag" ng-model="selected" class="form-control" placeholder="Tag">
</div>
<div>
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>
添加到config.js路線
when('/articles/search/:tag', {
templateUrl: 'views/articles/search.html'
}).
,並添加了搜索功能的文章控制器
$scope.searchart = function() {
Articles.query(function(articles) {
$scope.articles = articles;
});
};
眼下,隨着此代碼實現的,當我在索引頁面提交按鈕的點擊,沒有任何反應。
你能找到我缺少的東西嗎?
提前致謝!