[英]Angular-UI Bootstrap toggle buttons in AngularJS
我最初在我的应用程序中有默认的 Bootstrap 3.3 切换按钮。 这些是模仿复选框或单选按钮行为的按钮组。
我试图用这里的替换它们
我将代码粘贴到我的 html 中,起初看起来不错:
<div class="btn-group">
<label class="btn btn-default" ng-model="checkModel.left" btn-checkbox>Left</label>
<label class="btn btn-default" ng-model="checkModel.middle" btn-checkbox>Middle</label>
<label class="btn btn-default" ng-model="checkModel.right" btn-checkbox>Right</label>
</div>
现在我想连接控制器。 因此,我使用来自 angular-ui 站点的 JS 内容创建了一个文件“elements-buttons.controller.js”:
(function() {
'use strict';
angular.module('pb.ds.elements').controller('ButtonsController',
function($log) {
var _this = this;
_this.singleModel = 1;
_this.radioModel = 'Middle';
_this.checkModel = {
left: false,
middle: true,
right: false
};
});
})();
我将控制器放入路由器:
.state('elements.buttons', {
url: '/elements/buttons',
templateUrl: 'modules/elements/templates/elements-buttons.html',
controller: 'ButtonsController as buttons'
})
现在,只要我将控制器链接到我的 index.html ,按钮组就会丢失所有样式:
这对我来说毫无意义。 检查 Chrome 中的代码显示它是否由于某种原因丢失了所有类:
<div class="btn-group">
<label class="" ng-model="buttons.checkModel.left" btn-checkbox="">Left</label>
<label class="" ng-model="buttons.checkModel.middle" btn-checkbox="">Middle</label>
<label class="" ng-model="buttons.checkModel.right" btn-checkbox="">Right</label>
</div>
现在,由于我使用了“controller as”语法,我确实确保尝试将其添加到模型ng-model="buttons.checkModel.right"
但有或没有同样的事情。 没有控制器,看起来不错。 控制器,繁荣。
编辑/更新:控制台中没有任何类型的错误。
我创建了一个 jsfiddle 来调试您的问题。
我发现它没有问题。
您应该检查的关键点:
angular.module('app', ['ui.bootstrap', 'app.controllers']);
在小提琴上,我没有使用 ui-router,但您应该检查控制器是否确实正在加载(您可以在那里添加一个 console.log 并检查控制器是否已加载)。
我喜欢这个指南和 jsfiddle,你应该很高兴
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.