我目前正在开发一个简单的单页应用,点击一些UIImageView*imageView=[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"your_default_image_or_First.png"]];
[[firstViewController view] addSubview:imageView];
[[firstViewController view] bringSubviewToFront:imageView];
[NSThread SleepForTimeInterval:(2.5)];
[imageView setImage:[UIImage imageNamed:@"your_default_image_or_Second.png"]]
// as usual
[self.window makeKeyAndVisible];
//now fade out splash image
[UIView transitionWithView:self.window duration:1.0f options:UIViewAnimationOptionTransitionNone animations:^(void){imageView.alpha=0.0f;} completion:^(BOOL finished){[imageView removeFromSuperview];}];
,您就可以使用<li>
发送一些数据。这个ngClick
有一个父<li>
,其中我使用<div>
和所有这些东西来应用CSS样式......
问题是当我单击此angular.element
时,我会执行一些ngClick
调用并获取JSON来填充内部控制器变量。因此,当用户点击其他没有任何共同点的菜单时(根据控制器和指令),我填写其他列表,当用户点击此列表时,我必须设置前面提到的$http
样式,即指令。
所以,我不知道如何告诉<li>
关于link
的引用,它必须设置一些我不知道如何传递的属性,也许是一个服务读?我想使用一个服务来存储信息从控制器传递到指令,但我是Angular的新手,我不知道该怎么做。我搜索了很多,但没找到我到底要找的东西。我想过使用directive
,但我的变量是在控制器上观察的,所以我必须回到父范围2次才能到达它。
非常感谢!
答案 0 :(得分:1)
<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: '&'
}
};
});