【发布时间】:2015-05-12 13:35:58
【问题描述】:
我最初在我的应用程序中有默认的 Bootstrap 3.3 切换按钮。这些是模仿复选框或单选按钮行为的按钮分组。
我试图用 here 替换它们
我将代码粘贴到我的 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>
现在我想连接控制器。因此,我创建了一个文件“elements-buttons.controller.js”,其中包含来自 angular-ui 站点的 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" 中,但无论是否使用相同的东西。没有控制器,看起来不错。控制器,繁荣。
编辑/更新:控制台中没有任何错误。
【问题讨论】:
-
尝试 controllerAs: 在 .state 定义中
-
但是我有很多状态,所有状态都使用控制器作为语法,这与所有状态都完美匹配:
controller: 'ChartColorsController as charts', -
@Steve 你能发表一下你的问题吗?
标签: angularjs twitter-bootstrap angular-ui-router angular-ui-bootstrap