1
私はpromiseメソッドからrxjsを使用してデータを取得し、成功したらそれをサブスクライブして自分のスコープに渡しています。rxjsとangularを使ってデータをテンプレートにバインドする方法1.6
私のスコープに添付されたレスポンスオブジェクトを見ることができますが、UIではマップされません。
これは私が試みたものです。
インデックスHTML:
<html>
<head></head>
<body>
<my-component></my-component>
<script src="rx.lite.js"></script>
<script src="angular.min.js"></script>
<script src="rx.angular.js"></script>
<script src="app.js"></script>
<script src="service.js"></script>
<script src="component.js"></script>
</body>
</html>
app.js:
(function() {
'use strict';
angular.module('app', ['rx']);
})();
service.js:
component.js:
;(function (undefined) {
'use strict';
angular.module('app').component('myComponent', {
templateUrl: "myComponent.tpl.html",
controller: ['myService', 'rx', Ctrl]
});
function Ctrl(myService, rx) {
var $ctrl = this;
myService.httpReq({ url: ' http://localhost:3000/posts/1', method: 'GET'})
.subscribe(function(val) {
$ctrl.list = val;
}.bind(this));
}
}.call(this));
myComponent.tpl.html:
<div ng-if="$ctrl.list">{{$ctrl.list}}</div>
safeApplyメソッドはrx.angular.jsまたは$ scope。$ applyから動作させました。ありがとう –