gpt4 book ai didi

javascript - Angularjs 如何将数据从 Controller 传递到指令

转载 作者:行者123 更新时间:2023-11-30 10:24:22 26 4
gpt4 key购买 nike

我有一个通过路由激活的 Controller (见下文)我想创建一个使用此数据的指令(一旦加载)但我没有想法如何传递此数据/绑定(bind)它。

这是我的 Controller :

app.controller("CampaignData" , ['$scope', 'Restangular', 'CbgenRestangular', '$http', '$q',
function($scope, Restangular, CbgenRestangular, $http, $q){

var campaign_call = CbgenRestangular.one('api/v1/campaign', "testcamp").get();

$q.when(campaign_call.then(
function(campaign) {
$scope.campaign = campaign;
console.log(campaign);
}
))
.then(function(){

var cars = $http({method: 'GET', url:$scope.campaign.carlot});
cars.then(function(reward){
// do success things here
console.log(reward.data)
},
function(reward){
//do error things here
});

})

}]);

然后在我的模板中我想做这样的事情

{{ campaign.name }}  {{ car.name }}

甚至这个

<campaign="name"></campaign> 
<campaign="car.name"></campaign>

如何做到这一点?

最佳答案

I would not like to create a directive that uses this data

无需创建指令。在路由配置中声明模板和 Controller 后, Controller 内的所有作用域属性都将为模板激活。

这样的插值应该可以正常工作:

<div>{{ campaign.name }}</div>
<div>{{ car.name }}</div>

如果您想处理其中一个 div 上的点击事件,它看起来像这样:

<div ng-click="myFunctionInController(campaign.name)">{{ campaign.name }}</div>

此函数将在 Controller 中定义如下:

$scope.myFunctionInController = function(name) {

console.log(name);
}

关于javascript - Angularjs 如何将数据从 Controller 传递到指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20155825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com