angular2 - 通过自定义管道使用全局服务

时间:2016-08-01 06:49:45

标签: typescript angular pipe

我正在玩角度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

1 个答案:

答案 0 :(得分:2)

仅在值或参数更改时执行纯管道。

您可以将管道配置为不纯的管道,然后每次更改检测运行时都会执行管道。这可能会对性能造成严重影响

@Pipe({name: 'myPipe', pure: false})