New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reloading JsRender removes the template that was cached on the script element #263
Comments
Thanks Nariman - but that is strange, I have not seen that. Can you create a jsfiddle example which shows it. And can you use the non-minified version of JsRender? Thanks very much. |
We're not able to reproduce it in a jsfiddle yet but this is the exact line that generates the error on the non-minified version:
Some additional context, the call to Our code-base has been stable and works on all previous versions except the latest. |
OK - thanks. In commit 63, $("...").render({}) goes through the code:
In commit 64 it goes through the code:
So essentially the same code. But the error you are getting might occur if Otherwise I would need repro in some form (html files etc.) so I can debug this... |
We've isolated the behaviour here: https://jsfiddle.net/4rpqyk0g/1/ Our solution reloaded jsrender.js in between invocations, that's what causes the change between 63 and 64. We can work around this by avoiding reload if the following is true:
|
Yes, that makes sense. In version 63 and previous, JsRender detected that a copy of JsRender had already been loaded, and in that case aborted the loading of a second instance. But with commit 64 support was added for AMD script loaders - which do not play well with trying to magically avoid loading a second instance, so now if you choose to load a new instance, then the new instance will indeed be loaded as expected... If you are not using jQuery then commit 64 provides a noConfict() method to optionally keep global references for the previous instance. But if jQuery is loaded, then the second instance will replace So you need to choose whether to load a new instance and clear the previously registered templates, or not to load. The next update (65) will use a different approach to caching templates from script blocks, so in fact your scenario above will actually work even though a new JsRender instance will be loaded. But you will still probably not want to reload if you have registered named templates, since those registrations will be removed. Update: The new version (65) changes behavior on reloading - and does not remove registered named templates. So that plus the new caching approach will both help your scenarios... |
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See #304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See #306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See #254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - #304 ObserveAll on cyclic objects - #306 'data-xxxx' attribute using data-link - #307 #312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See #304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See #306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See #254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - #304 ObserveAll on cyclic objects - #306 'data-xxxx' attribute using data-link - #307 #312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See #304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See #306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See #254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - #304 ObserveAll on cyclic objects - #306 'data-xxxx' attribute using data-link - #307 #312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 #225 Bug Fixes: - #263 #264 Caching of template on script elements. (Unit tests added)
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 #225 Bug Fixes: - #263 #264 Caching of template on script elements. (Unit tests added)
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
This has been fixed in commit 65 |
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See #304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See #306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See #254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - #304 ObserveAll on cyclic objects - #306 'data-xxxx' attribute using data-link - #307 #312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 #225 Bug Fixes: - #263 #264 Caching of template on script elements. (Unit tests added)
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 #225 Bug Fixes: - #263 #264 Caching of template on script elements. (Unit tests added)
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 #225 Bug Fixes: - #263 #264 Caching of template on script elements. (Unit tests added)
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See #304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See #306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See #254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - #304 ObserveAll on cyclic objects - #306 'data-xxxx' attribute using data-link - #307 #312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 #225 Bug Fixes: - #263 #264 Caching of template on script elements. (Unit tests added)
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 #225 Bug Fixes: - #263 #264 Caching of template on script elements. (Unit tests added)
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See #304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See #306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See #254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - #304 ObserveAll on cyclic objects - #306 'data-xxxx' attribute using data-link - #307 #312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 #225 Bug Fixes: - #263 #264 Caching of template on script elements. (Unit tests added)
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See #304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See #306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See #254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - #304 ObserveAll on cyclic objects - #306 'data-xxxx' attribute using data-link - #307 #312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See #304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See #306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See #254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - #304 ObserveAll on cyclic objects - #306 'data-xxxx' attribute using data-link - #307 #312
BREAKING CHANGES AND IMPROVEMENTS - The global namespace when JsRender is loaded without jQuery is now window.jsrender. (Previously it was window.jsviews). So when using JsRender without jQuery, you can write: var $ = jsrender; - and use the $ var it in the same way you would use the global $ when JsRender is loaded with jQuery: e.g. $.templates(...) or $.views.helpers(...) etc. - AMD support has been improved and simplified. All AMD modules, including JsRender, with or without jQuery, now return the jQuery object (if loaded) or the analogous JsViews object. - Node.js support and integration has been improved - along with improved CommonJS support, and Browserify integration. The file system APIs now use the syntax tmpl="./file/path.html". The Node.js version of jsrender.js is available as a separate file (available at //jsviews.com/download/jsrender-node.js). The Node.js version of JsRender provides the complete set of JsRender APIs and features, together with integration with NodeJS view-engines such as Express and Hapi, APIs for loading templates from the file system, etc. The file system APIs now use the syntax tmpl="./file/path.html". It also includes a built-in Browserify transform (see "Browserify Support: below). (Note: JsRender and JsViews will soon be published to NPM). - The behavior when loading multiple instances of JsRender or JsViews files has been changed: When loading a new instance, the previous instance $.views, $.templates, etc. is no longer overwritten. So a component using JsRender or JsViews will not, when loaded, cause another already loaded component also using JsViews/JsRender to fail (except for collisions arising in the unlikely case where both happen to use the same template/converter/helper name). As part of this modified behavior, the noConflict support for JsRender had been removed. NEW FEATURES - observeAll() for cyclic objects is now supported for the vast majority of cases. See BorisMoore/jsviews#304 - Improved support for data-linking to data- attributes: <elem data-link="data-foo{:expr}" ...>. After data-linking, the value of the data-foo attribute will be expr.toString(), but $.data(element, "foo") and $(element).data("foo") will actually return the value of expr, even if of type object. See BorisMoore/jsviews#306 - Browserify Support: JsRender on Node.js provides a built-in Browserify transform - jsrender.tmplify, for including compiled JsRender templates from the server, as part of the client javascript bundle generated by Browserify. Usage example: var $jsr = require('jsrender'); browserify(...) ... .transform($jsr.tmplify) ... See also http://www.jsviews.com/test/unit-tests-browserify.html - Initial work for deployment to Bower and NPM. See BorisMoore/jsviews#254 BorisMoore/jsrender#225 Bug Fixes: - BorisMoore/jsrender#263 BorisMoore/jsrender#264 Caching of template on script elements. (Unit tests added) - BorisMoore/jsviews#304 ObserveAll on cyclic objects - BorisMoore/jsviews#306 'data-xxxx' attribute using data-link - BorisMoore/jsviews#307 BorisMoore/jsviews#312
Hi Boris
There's a new error in Commit 64 (Post Beta) that goes away as soon as you revert back one version. It happens even with the simplest of templates (a single div with no binding expressions) on line 192 of the formatted version:
Please let me know if this helps.
Cheers,
The text was updated successfully, but these errors were encountered: