首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从<meter>变量动态更改$scope值

从<meter>变量动态更改$scope值
EN

Stack Overflow用户
提问于 2017-02-23 07:36:12
回答 2查看 366关注 0票数 0

我正在尝试使用仪表标签来显示电池功率指示器。它使用硬编码值,但不使用$scope variable.Here是小提琴

代码语言:javascript
复制
<div ng-app="app" ng-controller="main">
 <div id="page-wrapper">
    <p>
      <meter min="0" max="4" low="1" high="3" optimum="4" value="2"></meter>
    </p>
    <p>
      <meter min="0" max="4" low="1" high="3" optimum="4" value="value"></meter>
    </p>
 </div>
</div>

**JS*

代码语言:javascript
复制
angular.module("app", [])
.controller("main", ['$scope', function($scope) {
    $scope.value = 2
}])
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-02-23 07:40:48

您必须使用{{value}}来反映作用域值

所以要用,

value="{{value}}"

而不是

value="value"中的

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>
<style>
.styled meter {
  /* Reset the default appearance */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;

  width: 100%;
  height: 30px;
  
  /* For Firefox */
  background: #EEE;
  box-shadow: 0 2px 3px rgba(0,0,0,0.2) inset;
  border-radius: 3px;
}

/* WebKit */
.styled meter::-webkit-meter-bar {
  background: #EEE;
  box-shadow: 0 2px 3px rgba(0,0,0,0.2) inset;
  border-radius: 3px;
}

.styled meter::-webkit-meter-optimum-value,
.styled meter::-webkit-meter-suboptimum-value,
.styled meter::-webkit-meter-even-less-good-value {
  border-radius: 3px;
}

.styled meter::-webkit-meter-optimum-value {
  background: #86CC00;
}

.styled meter::-webkit-meter-suboptimum-value {
  background: #FFDB1A;
}

.styled meter::-webkit-meter-even-less-good-value  {
  background: #CC4600;
}


/* Firefox */
.styled meter::-moz-meter-bar {
  border-radius: 3px;
}

.styled meter:-moz-meter-optimum::-moz-meter-bar {
  background: #86CC00;
}

.styled meter:-moz-meter-sub-optimum::-moz-meter-bar {
  background: #FFDB1A;
}

.styled meter:-moz-meter-sub-sub-optimum::-moz-meter-bar {
  background: #CC4600;
}

button {
  display: inline-block;
  border-radius: 3px;
  border: none;
  font-size: 0.9rem;
  padding: 0.4rem 0.8em;
  background: #69c773;
  border-bottom: 1px solid #498b50;
  color: white;
  -webkit-font-smoothing: antialiased;
  font-weight: bold;
  margin: 0 0.25rem;
  text-align: center;
}

button:hover, button:focus {
  opacity: 0.75;
  cursor: pointer;
}

button:active {
  opacity: 1;
  box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.1) inset;
}

</style>
<div ng-app="myApp" ng-controller="myCtrl">

<div id="page-wrapper">
<p>
    <meter min="0" max="4" low="1" high="3" optimum="4" value="4"></meter>
  </p>
  <p>
    <meter min="0" max="4" low="1" high="3" optimum="4" value="{{value}}"></meter>
  </p>
 </div>

</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.value = 2
});
</script>

</body>
</html>

请运行上面的片段

这是一个工作演示

票数 1
EN

Stack Overflow用户

发布于 2017-02-23 08:51:29

一些你的小提琴的观察:

  • 你忘了把AngularJS库包括在你的小提琴里。
  • $scope值输入到HTML中。使用角表达式{{value}}
  • LOAD TYPE更改为No wrap - in <head>,从小提琴的JAVASCRIPT部分中的onLoad改为JAVASCRIPT

演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42409650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档