Javascript 与处理DOM的AngularJS指令通信
我目前正在开发一个简单的单页应用程序,您可以单击一些Javascript 与处理DOM的AngularJS指令通信,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我目前正在开发一个简单的单页应用程序,您可以单击一些,然后使用ngClick发送一些数据。这个有一个父级,我将CSS样式应用于angular.element和所有这些东西 问题是,当我单击此ngClick时,我会执行一些$http调用,并获取一个JSON来填充内部控制器变量。因此,当用户单击其他没有共同点的菜单(在控制器和指令方面)时,我填充其他列表,当用户单击此列表时,我必须为我前面提到的设置样式,这是一个指令 因此,我不知道如何告诉指令上的链接引用,它必须具有一些我也不知道如何传递的属性,可
,然后使用ngClick
发送一些数据。这个
有一个父级
,我将CSS样式应用于angular.element
和所有这些东西
问题是,当我单击此ngClick
时,我会执行一些$http
调用,并获取一个JSON来填充内部控制器变量。因此,当用户单击其他没有共同点的菜单(在控制器和指令方面)时,我填充其他列表,当用户单击此列表时,我必须为我前面提到的
设置样式,这是一个指令
因此,我不知道如何告诉指令
上的链接
引用,它必须具有一些我也不知道如何传递的属性,可能是要读取的服务?我曾想过使用一个服务来存储从控制器传递到指令的信息,但我对Angular还不熟悉,不知道该怎么做。我找了很多,但没有找到我要找的东西。我想使用$watch
但是我的变量要在控制器上进行监视,所以我必须回到父作用域2次才能到达它
非常感谢
<div ng-controller="Ctrl as ctrl" ng-style="ctrl.style">
<my-dir on-fetch="ctrl.style = $style"></my-dir>
</div>
module.directive('myDir', function(){
return {
restrict: 'E',
template: '<li ng-click="$ctrl.fetch()"></li>',
controller: function(){
var $ctrl = this;
this.fetch = function(){
api.fetch().then(function(stylesFromResponse){
$ctrl.onFetch({$style: stylesFromResponse});
});
};
},
bindToController: true,
controllerAs: '$ctrl',
scope: {
onFetch: '&'
}
};
});
module.directive('myDir',function(){
返回{
限制:'E',
模板:“”,
控制器:函数(){
var$ctrl=this;
this.fetch=函数(){
api.fetch().then(函数(stylesFromResponse){
$ctrl.onFetch({$style:stylesFromResponse});
});
};
},
bindToController:对,
controllerAs:“$ctrl”,
范围:{
onFetch:“&”
}
};
});
您可以根据任何条件使用ng样式或ng类。我不能使用它,因为我从JSON接收到一些图像,这些图像将用作从数据库加载的背景图像。谢谢我几乎不懂你写的任何东西。。。你能在回答中解释一下吗?这样我就可以修改了,谢谢!据我所知,您有一个指令,该指令应该在获取数据时onClick获取数据,并与父控制器通信。在我的示例中,抓取li是myDir,当抓取准备就绪时,它在内部处理onClick并调用controller方法或外部代码