我正在玩角度2。到目前为止,我构建了一个包含界面的全局服务。其他组件正在使用此全局服务的接口。如果通过组件更改了界面,则界面也将针对子组件进行更改。
现在我试图通过管道处理这个问题。但是当我通过子组件更改接口值时,其他组件中的接口值不会改变。
这是我到目前为止所得到的:
'use strict';
angular.module('chatApp')
.controller('ChatRoomsCtrl',function($scope,chatRoom,$location){
var chatRoomsLoaded = function(chatRooms){
$scope.chatRooms = chatRooms;
}
var handleErrors = function(response){
console.error(response);
}
$scope.selectchatRoom + function(chatRoom){
$location.path('/#/chat-room/'+ chatRoom.id);
}
$scope.createchatRoom + function(chatRoom){
chatRoom.create(chatRoom).then($scope.selectchatRoom);
}
chatRoom.getall()
.then(chatRoomsLoaded)
.catch(handleErrors);
});
这里也是Plunker
答案 0 :(得分:2)
仅在值或参数更改时执行纯管道。
您可以将管道配置为不纯的管道,然后每次更改检测运行时都会执行管道。这可能会对性能造成严重影响
@Pipe({name: 'myPipe', pure: false})