AngularJs 更新引导进度条
AngularJs updating Bootstrap Progress bar
我正在尝试使用angularJS设置柱线的进度
变量使用 ng-model
连接到输入。
javascript
angular.module('progressTest', []);
angular.module('progressTest')
.controller('mainController', function ($scope) {
$scope.percent = 0;
})
html
<div ng-app="progressTest">
<div ng-controller="mainController as mainCtrl">
<div class="progress">
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="{{ mainCtrl.percent }}" aria-valuemin="0" aria-valuemax="100" style="width: 40%">
</div>
</div>
<div class="input-group">
<input type="text" class="form-control" placeholder="Recipient's username" aria-describedby="basic-addon2" ng-model="mainCtrl.percent">
<span class="input-group-addon" id="basic-addon2">%</span>
</div>
<span>{{ mainCtrl.percent }}</span>
</div>
</div>
模型正在更新,但对进度条值没有影响。
编辑:忘记添加此代码笔
更新
抱歉,我以为这与控制器有关。但主要问题是aria-valuenow
和width
彼此不同步。仅仅绑定aria-valueNow
是不够的,还需要绑定width
样式。下面的代码有效,因为我们使用 ng-style
绑定width
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="{{ mainCtrl.percent }}" aria-valuemin="0" aria-valuemax="100"
ng-style="{'width':mainCtrl.percent+'%'}">
原始答案将与上述更新一起使用。
使用controller as alias
语法时,应使用 this
而不是 $scope
。请尝试以下代码。它会起作用。
angular.module('progressTest', []);
angular.module('progressTest')
.controller('mainController', function () {
this.percent = 0;
})
相关文章:
- 基于其他数据结构更新 AngularJS 中的数据结构
- 如何更新 angularjs ng-cell 中的字段
- 使用服务更新 AngularJS 中的控制器
- 如何在用户更新AngularJs中的控制器时刷新$state
- 我的服务没有更新-Angularjs
- 更新angularjs库会导致angular.bootstrap()中出现错误
- 分析异步调用未更新AngularJS中的$scope变量
- 如何通过单击来自javascript外部的复选框来更新AngularJS模型
- 无法更新 angularjs 指令的内容
- 使用 AJAX 更新的模型更新 AngularJS 视图
- Javascript回调方法不更新AngularJS,除非是速记形式
- 是否可以在 iframe 内更新 angularjs 表达式
- 在验证Symfony2中的搜索表单后更新AngularJS范围
- 模型没有't使用所选值更新-AngularJS
- 更新AngularJS中控制器的指令值
- 选择ng选项不使用ajax更新AngularJS中的ng模型
- 在应用程序代码上运行Google Closure编译器后,更新AngularJS模板HTML
- 更新AngularJS中的父子详细信息
- 更新angularjs服务和控制器中的数据
- 使用ng-option更新angularjs