0
我试图从url中抓取产品的标识符(例如/product/<productId>
),从MongoDB中抓取产品对象并使该对象在$scope
中可访问我的应用程序。从url中抓取productId可以很好地与$routeParams
一起工作,但是我很难将从MongoDB中移出并进入范围。
我的猜测是我需要在服务器端的products-controller.js
中添加代码,但是如何从服务器端的$ scope调用productId?
我知道查询应该是什么样子(例如db.products.find({_id : ObjectId("5422c8b2d4cc50e99f007f73")})
)
server.js
app.get('/api/products', productsController.list);
app.js
var app = angular.module('productApp', ['ngResource', 'ngRoute']);
app.config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: '/views/productsoverview.html',
controller: 'productsController'
})
.when('/product/:productId', {
templateUrl: '/views/productFocus.html',
controller: 'productFocusController'
})
.otherwise({
redirectTo: '/'
});
$locationProvider.html5Mode(true)
}]);
app.controller('productsController', ['$scope', '$resource',
function($scope, $resource) {
var Product = $resource('/api/products');
$scope.products = [];
Product.query(function (results) {
$scope.products = results;
});
}]);
app.controller('productFocusController', ['$routeParams', '$scope', '$resource',
function($routeParams, $scope, $resource) {
if($routeParams.productId) {
$scope.productId = $routeParams.productId
}
}]);
产品控制器.js(服务器)
var Product = require('../models/product');
module.exports.list = function (req, res) {
Product.find({}, function (err, results) {
res.json(results);
});
}
var var Product = $ resource('/ api/products /:productId',{productId:@productId});' – David 2014-09-28 14:54:39
检查您的代码使用jshint我可以帮助您找到答案,但我不会写你的整个代码...检查整个文件有时你得到错误,它指向一个不同的代码行 – 2014-09-29 01:38:57
添加单引号到资源$ resource('/API /产品/:的productId”,{产品编号: '@的productId'});并尝试阅读角度js文档 – 2014-09-29 13:23:46