TL; DR Grundsätzlich möchte ich die Zwei-Wege-Bindung von AngularJS (das ist richtig, AngularJS, nicht Angular) ohne den Rest von AngularJS.
Meine Lieblingssache bei der Verwendung von AngularJS ist, wie einfach die Datenbindung ist. Es ist so einfach, ich füge einfach ein ng-app
Tag und einen Controller in meinen HTML-Code ein, initialisiere meine App mit ein paar Zeilen JavaScript-Code, und dann wird ein {{variableValue}}
in meinem HTML-Code automatisch mit dem $scope.variableValue des Controllers gefüllt.
Gibt es eine Bibliothek, die nur das tut? (Mir ist klar, dass ich nur die unidirektionale Bindung beschrieben habe, daher akzeptiere ich auch Bibliotheken, die unidirektionale Bindungsantworten ausführen).
Nur um das klarzustellen, ich habe mir ein paar andere Bibliotheken angesehen, die dies tun, und keine von ihnen macht es auf der HTML-Seite so einfach. In diesen anderen Frameworks wie bind von Remy Sharp oder RivetJS muss ich entweder ein <span id="variableValue"></span>
Konzept haben oder ich muss explizit angeben, dass die variableValue
Variable an ein Element gebunden wird, das durch definiert wird #variable-value
, usw.
Was ich suche ist:
{{variableName}}
im HTML$scopeVariable.variableName
in JavaScriptSie könnten einige leichte Bibliotheken verwenden:
Vue.js
Es müssen nur ein paar Zeilen hinzugefügt werden, und es gibt keinen Framework-Overhead wie in Angular.js oder Angular
Importieren:
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
HTML:
<input v-model="message" placeholder="edit me">
<p>Message is: {{ message }}</p>
Javascript:
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
})
Das ist es. Es ist wirklich leicht
Rivets.js
, es ist noch leichter als Vue.Importieren:
<script src="rivets.bundled.min.js"></script>
HTML:
<input rv-value="name">
Javascript:
rivets.bind($('input'), {name: 'Your name'})
Mawg sagt, Monica wieder einzusetzen
Mawg sagt, Monica wieder einzusetzen
<div v-bind:class="{ active: isActive }"></div>
. Ist das ein Deal Breaker, hinzufügenv-bind:
zu müssen, um verwenden zu können{ active: isActive }
?Michael Plautz
Mawg sagt, Monica wieder einzusetzen
Michael Plautz