适用于1.3.4版。在以下代码段中,ng-change事件不起作用。
依赖项:Bootstrap版本3.3.0
以下代码适用于1.2.27版
var app = angular.module("demoApp", ['ngRoute']);
app.controller('DemoController', function ($scope) {
init();
function init() {
$scope.newItemType = 'bill';
$scope.change = function () {
alert($scope.newItemType)
};
}
});
app.config(function ($routeProvider) {
$routeProvider
.when('/prerak/list', {
controller: 'DemoController',
templateUrl: '/app/views/demo.html'
})
});
<h4>Demo</h4>
<br />
<div>
<div class="btn-group" data-toggle="buttons">
<label class="btn btn-success">
<input type="radio" value="bill" ng-change="change()" ng-model="newItemType"> Insert New Bill <span class="glyphicon glyphicon-file"></span>
</label>
<label class="btn btn-success">
<input type="radio" value="coin" ng-change="change()" ng-model="newItemType"> Insert New Coin <span class="glyphicon glyphicon-adjust"></span>
</label>
</div>
<br/><br/> Selected Item: <b>{{newItemType}}</b>
</div>
以下是plunkr(用于简单版本):http
://plnkr.co/edit/yU9unxI8F6u2ToQzlUV2
在处理Angular时,您不应依赖Bootstrap
javascript。Bootstrap的jQuery插件不是为Angular量身定制的。如果要使用Bootstrap
JS,则应考虑使用其他Angular模块,例如AngularUI Bootstrap或AngularStrap,它们提供专用的指令来实现相应的Bootstrap插件功能。
这是AngularUI引导程序的外观:
<div class="btn-group">
<label class="btn btn-success" btn-radio="'bill'" ng-change="change()" ng-model="newItemType">
Insert New Bill <span class="glyphicon glyphicon-file"></span>
</label>
<label class="btn btn-success" btn-radio="'coin'" ng-change="change()" ng-model="newItemType">
Insert New Coin <span class="glyphicon glyphicon-adjust"></span>
</label>
</div>
在这种情况下,请记住声明新的依赖关系:
angular.module("demoApp", ['ui.bootstrap'])
这是整体外观
angular.module("demoApp", ['ui.bootstrap']).controller('DemoController', function ($scope) {
$scope.newItemType = 'bill';
$scope.change = function () {
console.log($scope.newItemType)
};
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.4/angular.min.js"></script>
<script src="http://angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.12.0.min.js"></script>
<div class="container" ng-app="demoApp" ng-controller="DemoController">
<h2>Radio Buttons</h2>
<div class="btn-group">
<label class="btn btn-success" btn-radio="'bill'" ng-change="change()" ng-model="newItemType">
Insert New Bill <span class="glyphicon glyphicon-file"></span>
</label>
<label class="btn btn-success" btn-radio="'coin'" ng-change="change()" ng-model="newItemType">
Insert New Coin <span class="glyphicon glyphicon-adjust"></span>
</label>
</div>
<p>Selected Item: <b>{{newItemType}}</b></p>
</div>
演示:http://plnkr.co/edit/pPTir7YGwJKt5L5oxVYX?p
= preview
问题内容: 从第一种观点看,似乎可以传递一些数据作为方法的参数,应在按下按钮期间调用。 但我看不出有什么区别。 我遵循了代码片段: HTML 要么 JS 两者都可以。 谢谢, 问题答案: 他们是一样的东西。您可以用来制作有效的html。
问题内容: 我在视图中有一个附加的项目清单: 我正在处理指令中函数中的click事件,将其作为对被单击对象的引用,但是我得到的是对标签的引用,而不是对标签的引用。然后,我必须做这样的事情才能得到: 有没有一种简单的方法可以获取对绑定元素的引用,而无需在我的指令中执行DOM操作? 问题答案: 您需要代替。
问题内容: 当调用这样的函数时: HTML: JS: 一切正常,但是当我的功能在服务中(控制器可以访问)时,不会调用该功能。通过将服务名称作为前缀来调用它也不是一个选择(即使这在javascript代码本身中也有效) 所以我的问题是:当位于服务中的ng-change中调用服务时,正确的方法是什么? 提前致谢 问题答案: 您需要使用通过作用域的函数来调用服务函数。因此,在您的示例中,只要将服务注入到
问题内容: 这是我的柱塞: http://plnkr.co/edit/oIei6gAU1Bxpo8VUIswt 单击该按钮后,应在“ Hello World!”之前插入以下内容。跨度: 减去脚本标签,当然。 我是通过动态插入以下div来实现的: 然后进行编译。但是,如果您查看日志,则编译后剩下的唯一内容是: 这里发生了什么?为什么我的插入内容无法正确编译?逻辑如下: 问题答案: 在 快速 的答案可
问题内容: 我正在使用ng-pattern来验证某些表单字段,并且正在使用ng-change来监视和处理任何更改,但是ng-change(或$ scope。$ watch)仅在form元素位于$有效状态!我对angular还是陌生的,所以我不知道如何解决这个问题,尽管我怀疑应该采用新的指令。 在ng-pattern仍然像以前一样设置表单元素状态的情况下,如何在$ invalid和$ valid表单
问题内容: 任何人都可以为该JSFiddle提供正确的方法: JsFiddle链接 我正在尝试通过.class&#ID更改元素的类。 提前致谢 感谢tymeJV,新的JSFiddle: 解 问题答案: 正确的方法是根据切换变量使用,请考虑: CSS: JS: HTML: 通过根据变量(“ toggle”)是否为或分配引用的类(在上面为“红色”)来工作。