Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将参数发送到angularjs中的控制器_Angularjs - Fatal编程技术网

将参数发送到angularjs中的控制器

将参数发送到angularjs中的控制器,angularjs,Angularjs,我创建一个eshop站点的过程如下所示: 我加载所有产品,当我将鼠标悬停在产品名称上时,我会看到由产品id生成的动态url 到目前为止还不错,问题是我已经硬编码了产品详细信息页面 我想知道的是,如何向控制器发送参数,以便根据产品id加载页面: app.factory("shopFactory", function ($resource) { return { User: $resource("http://localhost:58495/users/api/User/

我创建一个eshop站点的过程如下所示:

我加载所有产品,当我将鼠标悬停在产品名称上时,我会看到由产品id生成的动态url

到目前为止还不错,问题是我已经硬编码了产品详细信息页面

我想知道的是,如何向控制器发送参数,以便根据产品id加载页面:

app.factory("shopFactory", function ($resource) {
    return {
        User: $resource("http://localhost:58495/users/api/User/?id=:id", { id: "@id" }),
        Category: $resource("http://localhost:58495/category/api/categories"),
        Product: $resource("http://localhost:58495/products/api/Products?from=:from&to=:to", { from: "@from", to: "@to" }),
        ProductDetail: $resource("http://localhost:58495/products/api/Products?id=:id", { id: "@id" }),
        Test: $resource("https://jsonplaceholder.typicode.com/users/:id", {id:"@id"})
    };

});
我的工厂是这样的,我的产品控制器:

app.controller("productCtrl", function ($scope, shopFactory) {
    var test = shopFactory.ProductDetail.get({ id: 1 }).$promise.then(function (response) {
      CODE HERE
    }); 
});
我不知道如何,但我想向控制器发送一个参数,该参数是我想看到的产品的id,控制器接收该id作为参数,并将其插入此处:

var test = shopFactory.ProductDetail.get({ id: **hardCoded Part** }).$promise.then(function (response) {
      CODE HERE
    }); 
然后根据收到的参数加载所有信息。

知道怎么做吗?这种方法是正确的吗?或者我该怎么做
谢谢

我想你想做的是这样的:

<a ng-click="productCtrl.showDetails(product.id)>{{product.name}}</a>

嗯,不知道怎么回事,但我要找的是:$routeProvider,我用

var test = shopFactory.ProductDetail.get({ id: $routeParams.producId }).$promise.then(function (response) {
    CODE HERE
 });

基本上,我从url获取id参数,并将其加载到id中,这是我想要的,一篇非常好的文章解释了它:

你的HTML在哪里?这就是id被硬编码的地方吗?@RaniRadcliff硬编码部分是id,我把1作为产品id,它目前有多少工作?当您单击超链接时,视图会发生变化并显示正确的内容?@CameronRodriguez我检索到的所有数据都可以正常工作并显示在HTML中,就像第二个图像一样,但我必须手动更改id,例如2、3、99,当我更改id号时,该产品的所有数据都会正确显示,我不知道如何动态加载id号。谢谢,但我找到了另一种方法,我认为这是正确的方法,如果我没有找到,我会使用你的方法。
var test = shopFactory.ProductDetail.get({ id: $routeParams.producId }).$promise.then(function (response) {
    CODE HERE
 });