指令之间的连接(Angular 1.4.8)
Connection between directives(Angular 1.4.8)
我试图将我的SPA准备为Angular 1.5,以便使用组件,因此我将页面按以下方案划分为2个指令(未来的组件):
播放列表.html
<playlist-managing></playlist-managing>
<song-list></song-list>
在playlistManaging指令中,我应该可以过滤songList指令中的歌曲。那么,最好的方法是什么呢?我可以在$scope中使用事件,但我认为这不是一个好的解决方案。
谢谢。
指令之间共享数据有很多方法,第一种也是最好的方法是使用Factory服务并与之共享数据,第二种方法是指令的共享控制器,第三种方法是将数据保留在这些指令的父控制器中,并使用属性将共享数据赋予指令,第四种方法是使用共享作用域指令,在父控制器和指令之间共享作用域这里是上面方法的链接:
所述共享控制器:https://thinkster.io/a-better-way-to-learn-angularjs/directive-to-directive-communication
工厂服务:http://viralpatel.net/blogs/angularjs-service-factory-tutorial/
共享作用域指令:http://www.infragistics.com/community/blogs/dhananjay_kumar/archive/2015/06/11/understanding-scopes-in-angularjs-custom-directives.aspx
指令提供了一个隔离范围,用于将控制器的数据独立绑定到指令。因此,您可以通过每个指令使用双向数据绑定将作用域从控制器传递到指令。以下是一些例子:
首先,您需要初始化控制器中的作用域:
.controller('playlistController', function() {
$scope.songType = 'pop';
}
然后通过隔离范围将作用域传递到每个指令中,每个指令内部都有双向数据绑定:
.directive('playlistManaging').function({
return {
scope: {
songType: '='
},
controller: function() {
//some logic here
}
}
})
.directive('songList').function({
return {
scope: {
songType: '='
},
controller: function() {
//some logic here
}
}
})
然后通过HTML属性元素连接作用域。
//This is just a quick sample, the best solution is to define the controller inside angular routes
<div ng-controller="playlistController">
<playlist-managing song-type="songType"></playlist-managing>
<song-list song-type="songType"></song-list>
</div>
希望能有所帮助。
- DOM元素和angular元素之间的主要区别是什么
- 在DIV Angular JS之间切换
- 在Angular Bootstrap Modal和父控制器之间共享作用域
- 在控制器angular js之间共享数据
- 指令之间的连接(Angular 1.4.8)
- Angular 2,在没有直接关系的两个组件之间共享一个对象
- angular ui路由器卡在两个状态之间
- 是 Angular JS 的本地安装或引用 URL 之间的差异
- Angular,设置一个回调函数,用于在工厂和控制器之间更新
- Angular ng sortable-如果我在一个栏中添加了一个搜索框,则拖放在两列之间无法正常工作
- 如何在同一页面上的Angular应用程序和非Angular应用软件之间进行通信
- 如何在Angular JS中的控制器之间共享搜索功能
- 正确的方法-Angular JS中指令之间的通信
- 我在angular JS中选择了一个默认选项,并删除了两个单词之间的下划线
- Angular JS:使用ng重复计算每行两次之间的差
- 在 Angular 中的控制器之间绑定数据
- JavaScript 作用域和 Angular JS 作用域之间的区别是什么?
- Angular 在 orderBy 之后进入索引之间
- Angular 模板缓存是否在应用程序之间共享?是不是坚持不懈
- 如何在express和angular之间路由