javascript - 使用 AngularJS 切换文本字体

标签 javascript html css angularjs

我正在尝试使用 ng 类三元运算符在选中复选框时切换类。

这是简单的代码:http://jsfiddle.net/vqmua1x2/

我希望文本内容在选中复选框时变为粗体和非粗体。

我找不到我的错误。

HTML代码:

<div ng-app="myApp">
<div ng-controller="Ctrl1">
    <header>
            <h1>Problems</h1>

    </header>
    <div id="problems">
        <table>
            <tr>
                <td>
                    <input type="checkbox" ng-model="val1"/>
                </td>
                <td>prob1</td>
            </tr>
            <tr>
                <td>
                    <input type="checkbox" ng-model="val2"/> 
                </td>
                <td>prob2</td>
            </tr>
        </table>
    </div>

<div>
    <header>
            <h1>Orders</h1>

        <ul>
            <li ng-class="{{val1 }}? 'bold' : 'unbold'">prob1</li>
            <li ng-class="{{val2 }}? 'bold' : 'unbold'">prob2</li>
        </ul>
    </header>
</div>
     </div>

Javascript:

var myApp = angular.module('myApp', []);

myApp.controller('Ctrl1', ['$scope', '$rootScope', '$window', function ($scope, $rootScope, $window) {
    $scope.val1 = false;
    $scope.val2 = false;   
}]);

CSS:

.bold {
    font-style:none;
    font-weight:bold;
}
.unbold {
    font-style:none;
    font-weight:bold;
}

最佳答案

  • 要使 fiddle 正常工作,请选择“不包裹在正文中”
  • ng-class 的正确语法是:

    <li ng-class="{ 'bold': val1, 'unbold': !val1 }">prob1</li>
    

有了这些变化, fiddle 就可以工作了:http://jsfiddle.net/hpwhb62d/

关于javascript - 使用 AngularJS 切换文本字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28075084/

相关文章:

html - 减少 Bootstrap 中两行导航栏之间的空间

javascript - 通过 Javascript 关闭 iFrame

html - 自定义字体龙虾在 IE 中不起作用

javascript - Jquery Fade 过渡看起来不正确

javascript - Heroku 应用程序与 Node js 发生错误

javascript - 使用 JavaScript 和 JSON 从 Excel 数据创建 JavaScript 数组

javascript - 如何在 Prod 中启动 Webpack 和装置

javascript - 进度条不出现 bootstrap

php - 将 PHP 变量传递给 JS 函数

html - 在响应式网站设计中,我如何将一个列表放在其他包含子列表但不与主列表重叠的列表下方