JSFiddle - React, Tailwind, and code Playground

by krisselden

HTML

<script src="https://github.com/downloads/emberjs/ember.js/ember-latest.js"></script>

JavaScript

var a, b, changed, transform;

Ember.run(function() {
    a = {array: null};
    b = {a: a};
    changed = 0;
    
    Ember.addObserver(a, 'array', function() {
        changed++;
    });

    transform = {
        to: function(array) {
            if (array) {
                return array.join(',');
            } else {
                return array;
            }
        },
        from: function(string) {
            if (string) {
                return string.split(',');
            } else {
                return string;
            }
        }
    };
    Ember.Binding.from('a.array').to('string').transform(transform).connect(b);
});

Ember.run(function() {
    Ember.set(a, 'array', ['a', 'b', 'c']);
});

document.body.innerHTML = 'expected: 1  got: ' + changed;