You can't pass in paths like "object['keyName'].foo"
as first parameter of setProperty
. (That parameter does expect simply dot-separated paths).
But you don't need to. Just pass the actual object to $.views.observable(...)
then you only need to pass the leaf property name to setProperty
:
$.observable( files.images[n] ).setProperty( 'modified', 'Modified!' );
$.observable( files.images[n] ).setProperty( 'alias', a );
Updated jsfiddle: all three work...