javascript - AngularJS div 背景颜色与 ngStyle

标签 javascript css angularjs ionic-framework

我的一个 div 正在使用 ngStyle 观察背景颜色变量。每当我更改值时,都会收到错误消息。请看下面,我认为我或多或少与这个例子一致https://docs.angularjs.org/api/ng/directive/ngStyle

<div class="item item-divider" ng-style="scoreColor"><b>Rate</b>&nbsp;{{score}}</div>
<input type="range" name="rate" min="1" max="10" value="5" step="1" ng-model="score" ng-change="changeScoreColor(score)"/> 

$scope.changeScoreColor = function(score){
    $scope.scoreColor = "{background-color:" + colorFromScore(score) + ";}";
};



TypeError: name.replace is not a function
    at camelCase (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11098:5)
    at forEach.css (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11541:12)
    at Object.JQLite.(anonymous function) [as css] (http://localhost:8100/lib/ionic/js/ionic.bundle.js:11667:9)
    at http://localhost:8100/lib/ionic/js/ionic.bundle.js:33610:57
    at forEach (http://localhost:8100/lib/ionic/js/ionic.bundle.js:9022:20)
    at ngStyleWatchAction (http://localhost:8100/lib/ionic/js/ionic.bundle.js:33610:7)
    at Object.$watchCollectionAction [as fn] (http://localhost:8100/lib/ionic/js/ionic.bundle.js:22809:13)
    at Scope.$digest (http://localhost:8100/lib/ionic/js/ionic.bundle.js:22942:29)
    at Scope.$apply (http://localhost:8100/lib/ionic/js/ionic.bundle.js:23205:24)
    at $$debounceViewValueCommit (http://localhost:8100/lib/ionic/js/ionic.bundle.js:31961:14)

最佳答案

ng-style期望具有样式的对象,即:

$scope.changeScoreColor = function(score){
    $scope.scoreColor = {'background-color': colorFromScore(score) };
};

您传递的是字符串而不是对象,因此会出现错误。

以下是文档对预期的 ng-style 参数的描述:

Expression which evals to an object whose keys are CSS style names and values are corresponding values for those CSS keys.

关于javascript - AngularJS div 背景颜色与 ngStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34819718/

相关文章:

javascript - 使用按钮计数器更新 Chart.js

javascript - 使用 Angular JS 的自定义分页 - 需要在第一页显示 div 元素,该元素应该在第二页上重复单击下一步

java - 如何使用java和Angular登录webapp

javascript - 需要输入 "seamless audio capturing on websites"- 目前的技术水平如何?

css - 使用 Google Font API 有什么缺点吗?

javascript - 使用Jquery获取表中可编辑td的值

python - 如何使用 setStyleSheet 更改 QLabel 小部件的字体大小(以百分比为单位)?

javascript - 使用 ng-repeat 映射嵌套值

javascript - Youtube iFrame API 的 cueVideoById 在移动设备上不起作用?

javascript - 什么是最可靠的CSS选择器来选择谷歌搜索结果?