Angularjs 尝试在单击按钮时将REST url附加到Angular中。
因此,我在Ionic框架中设置了以下工厂/控制器,它运行良好。然而,我想提供三个按钮,一旦点击,改变位置-例如按钮一=伦敦,按钮二是纽约和按钮三改变它的马德里。目前,我可以通过编写三个工厂并更改API URL来实现这一点——硬编码,但这看起来很混乱。我想知道是否有一种方法可以将“点击”链接到参数或其他什么?我搜索过,也看过搜索、插值和$resource教程,但似乎没有什么是完全正确的Angularjs 尝试在单击按钮时将REST url附加到Angular中。,angularjs,rest,ionic-framework,Angularjs,Rest,Ionic Framework,因此,我在Ionic框架中设置了以下工厂/控制器,它运行良好。然而,我想提供三个按钮,一旦点击,改变位置-例如按钮一=伦敦,按钮二是纽约和按钮三改变它的马德里。目前,我可以通过编写三个工厂并更改API URL来实现这一点——硬编码,但这看起来很混乱。我想知道是否有一种方法可以将“点击”链接到参数或其他什么?我搜索过,也看过搜索、插值和$resource教程,但似乎没有什么是完全正确的 .factory('eventService', function ($http) { var even
.factory('eventService', function ($http) {
var events = [];
return {
getEvents: function () {
return $http.get('http://api.API.com/json/q=music&location=LONDON&app_key=XXX').then(function (response) {
events = response.data.events;
return response.data.events;
});
},
getEvent: function (index) {
return events.event[index];
}
}
})
//控制器
.controller("GigsCtrl", function ($scope, eventService) {
eventService.getEvents().then(function (events) {
$scope.events = events;
});
})
//每个项目都可以点击,等等
.controller("GigDetailCtrl", function ($scope, $stateParams, eventService) {
$scope.event = eventService.getEvent($stateParams.index);
console.log("Second Controller says: Hello World - I work");
})
这可能是一个非常简单的解决方案,我只是看不见森林的树木!温柔一点,我从12月才开始这么做,对它来说太新鲜了
这非常接近,但仍然没有真正解决
//按钮-每个按钮都会进入一个新的搜索页面,当前每个页面都有一个工厂,但理想情况下,我会点击按钮改变一个“主”工厂
<ion-content class="padding">
<div class="button-bar bar-dark">
<a href="#/london" class="button">London</a>
<a href="#/madrid" class="button">Madrid</a>
<a href="#/newyork" class="button">New York</a>
可以传入修改请求url所需的值,例如:
getEvents: function (location) {
var params ={
q:'music',
app_key: your_app_key,
location: location ? location.toUpperCase() :'LONDON';//default
};
return $http.get('http://api.API.com/json/', {params: params}).then(function (response) {
return response.data.events;
});
}
然后在状态配置中,使用位置而不是索引来显示更有意义的urlKyle。请阅读一次你的文章,并有意义地重新措辞,还有你面临的问题是什么?更新到postAhh这几乎就是它-它是如此接近,但它将如何看待事物的HTML/按钮方面?我只是不太明白如何将参数链接到按钮单击…您可以使用
$stateParams
并在您的状态配置中使用相同的url进行配置…配置中的url类似于url:'music list/:location'
,并在htmlI中使用ui sref=“music list stateName({location:'MADRID'})”
,请参见!就像我为GigDetailCtrl页面所做的一样…我会试试!非常感谢。