【发布时间】:2016-12-12 22:17:42
【问题描述】:
我在使用 AngularJS 时遇到过这种情况,这就是 How to initialize the value of an input[range] using AngularJS when value is over 100 发帖的原因。
我想知道 Angular2 可以更好地初始化默认范围 [0,100] 和 [min,max] 范围内的值。
我构建的尝试学习 Angular2 的代码几乎是对上一篇文章的翻译:
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.17/angular2-polyfills.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.17/Rx.umd.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/2.0.0-beta.17/angular2-all.umd.min.js"></script>
<script>
(function (app) {
app.AppComponent = ng.core.Component({
selector: 'my-app',
template: ' {{ctrl.min}}<input type="range" [(ngModel)]="ctrl.value" min="{{ctrl.min}}" max="{{ctrl.max}}" />{{ctrl.max}}<br/>value:{{ctrl.value}}'
})
.Class({
constructor: function() {
this.ctrl = { min:50, max:150, value:150};
}
});
})(window.app || (window.app = {}));
(function (app) {
document.addEventListener('DOMContentLoaded', function () {
ng.platform.browser.bootstrap(app.AppComponent);
});
})(window.app || (window.app = {}));
</script>
</head>
<body>
<my-app>Loading...</my-app>
</body>
</html>
运行这个 sn-p 得到这个结果:
滑块在位置 100,但它应该在位置 150。 预期结果是:
有没有办法一致地设置 3 个值(最小值、最大值和值),而不受值 [0,100] 的限制?
是否可以在初始化范围之后和设置初始值之前更新 DOM?
【问题讨论】:
标签: javascript input angular range