我想用twitters bootstrap开始一个小测试项目.为了实现这一切,我想尝试使用AngularJS,也许将requirejs作为AMD解决方案.我看到有一个AngularJS引导程序集成,我问自己是否使用它而不是使用普通的AngularJS和bootstrap是一个好主意.
有什么好处,还是我应该分开使用这两种?我可以将AngularUI与bootstrap一起使用吗?
我正试图通过angular-ui ui-keypress在按下向下键时调用一个函数.从我发现的向下键是代码40.但是我无法触发事件.
如果你看看这个触发ENTER键的函数的jsfiddle(尝试输入甚至13).但如果你将其改为40则不起作用.http://jsfiddle.net/jayrmotta/NbjZL/70/
<!DOCTYPE html>
<html ng-app="myModule" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Main</title>
</head>
<body ng-controller="Ctrl">
<button ng-click="add()">Add</button>
<input type="text" ui-keypress="{40: 'add()'}" />
{{item}}
</body>
</html>
var myModule = angular.module('myModule', ['ui.directives']);
function Ctrl($scope) {
$scope.item = "";
$scope.add = function () {
$scope.item = "Item Added";
}
}
Run Code Online (Sandbox Code Playgroud)
我有错误的代码还是可以告诉我什么是错的?
使用ng-repeat我在编辑表单中显示一些收音机:
<label style="float: left;margin-right: 3px;" data-ng-repeat="gender in genders" data-ng-hide="$first">
<input type="radio" name="gender" value="{{gender.Id}}" data-ng-model="customerFormData.customer.Gender.Id" />{{gender.Description}}
</label>
Run Code Online (Sandbox Code Playgroud)
如你所见,我已经应用了'dot practice'.编辑表单是我的详细信息表单上的弹出窗口.在我的详细信息表格中,我有这个:
<tr>
<td>Gender:</td>
<td>{{ customer.Gender.Description }} </td>
</tr>
Run Code Online (Sandbox Code Playgroud)
编辑表单中的所有绑定都有效,但我无法使性别绑定工作.我认为它与使用ng-repeat继承范围有关.
我也试过用$parent,但结果仍然是一样的:
<label style="float: left;margin-right: 3px;" data-ng-repeat="gender in genders" data-ng-hide="$first">
<input type="radio" name="gender" value="{{gender.Id}}" data-ng-model="$parent.customerFormData.customer.Gender.Id" />{{gender.Description}}
</label>
Run Code Online (Sandbox Code Playgroud)
设置初始值有效.当设置女性时,选择女性无线电,当它是男性时,选择男性无线电.
第二个问题是(我认为它与绑定有关),是当选择男性时,我必须在女性上单击两次才能选择女性.
编辑:我创建了一个小提琴来说明我的问题.
我目前正在使用Angular UI-Router 0.0.2我的角应用中的路线/状态.在我的应用程序中,我有一个仪表板和一个帐户页面 - 仪表板显示应用程序数据; 帐户页面显示用户信息.
当我有dashboard和account状态为两个独立国家,路线会改变,帐户页面将显示.
此代码有效:
routes = app.config ($stateProvider, $urlRouterProvider) ->
$urlRouterProvider.otherwise '/'
$stateProvider.state( 'dashboard',
url: '/'
templateUrl: "app/views/dashboard/index.html"
controller: 'DashboardIndexCtrl'
).state( 'account'
url: '/account'
templateUrl: "app/views/account/index.html"
controller: 'AccountIndexCtrl'
)
Run Code Online (Sandbox Code Playgroud)
但是,每当我将account状态设置为嵌套声明时dashboard,只显示空白屏幕.
此代码不起作用:
routes = app.config ($stateProvider, $urlRouterProvider) ->
$urlRouterProvider.otherwise '/'
$stateProvider.state( 'dashboard',
url: '/'
templateUrl: "app/views/dashboard/index.html"
controller: 'DashboardIndexCtrl'
).state( 'dashboard.account'
url: 'account'
templateUrl: "app/views/account/index.html"
controller: 'AccountIndexCtrl'
)
Run Code Online (Sandbox Code Playgroud)
我的dashboard/index.html档案:
%section.row-fluid
.span12
/ …Run Code Online (Sandbox Code Playgroud) 我想将单元格模板化为下拉按钮.所以我创建了一个单元格模板,其中的按钮链接到下拉指令.如果我在网格外创建这个按钮,它正在工作,但在网格内部则不然.我不确定,但我想$scope模板中无法访问.
我创建了一个显示问题的Plunker
我正在使用angularjs,ng-repeat来填充datagrid中的所需数据.
Something like this:
<input type="text" placeholder="Search" ng-model="query">
<tr ng-repeat="item in items | filter:query">
<td>{{item.someData}}</td>
<td>{{item.someOthrData}}</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
当我输入一些查询字符串来过滤数据网格中的行时,在行结束时,我需要一个回调,来做一些特定于应用程序的东西.
如果有人能够建议什么是正确的方法来做到这一点.
谢谢.
angularjs angular-ui angularjs-directive angularjs-ng-repeat
我正在使用AngularUI-Grid的ng-grid,并有一个行选择复选框.它也在标题中给了我一个复选框.
如果用户在标题中选中复选框,我希望在$ scope中触发一些事件/方法,有什么办法吗?我想通过指定: - checkboxHeaderTemplate,我会调用toggleSelectAll()方法.但它没有发生.任何线索?还有任何$ scope的事件或方法,可以在多行选择或取消选择时调用.
$scope.gridOptions = {
data: 'dataList',
enablePaging: true,
showFooter: true,
showFilter: true,
totalServerItems: 'totalVehicles',
pagingOptions: $scope.VehpagingOptions,
filterOptions: $scope.VehfilterOptions.filterText,
showSelectionCheckbox: true,
beforeSelectionChange: $scope.beforeVehicleSelectionChange,
checkboxHeaderTemplate: '<input class="ngSelectionHeader" type="checkbox" ng-show="multiSelect" ng-model="allSelected" ng-change="toggleSelectAll(allSelected, true)"/>'
};
Run Code Online (Sandbox Code Playgroud) 我有一个textarea,默认情况下它从头开始显示内容.我想默认显示结束内容,如果你向上滚动它应该在顶部显示内容.
我怎样才能做到这一点?
我对AngularJS UI中的ui-mask模块很新.当我使用它时,我注意到如果用户输入无效格式,并将焦点移动到另一个控件,则输入将被清除.
如何在焦点丢失时使ui-mask保留无效输入?我想向用户显示错误工具提示,例如"此字段无效",而不是清除他们的输入.
===============================
更新:
感谢majorlazer.
的?标记有效,例如,当掩码为?99/9999时,输入将不会被清除.
但是占位符存在一个小问题.我的面具是?99/9999,我的占位符是
'__/____' (2 underscores and a slash and 4 underscores)
Run Code Online (Sandbox Code Playgroud)
但是当输入没有焦点时,它会显示出来
'_//____' (1 underscore and two slashes and 4 underscores)
Run Code Online (Sandbox Code Playgroud)
你有什么主意吗?
以下代码未显示弹出时间戳.知道怎么解决?
码:
<ul class="dropdown-menu custom-scroll dropDownLabel custom-width" role="menu" aria-labelledby="btn-append-to-body"
ng-show="!sr.timedisplay"
>
<li role="menuitem">
<a href="" ng-click="$event.stopPropagation()">Start Time
<p class="input-group">
<input type="text" class="form-control" timepicker-popup ng-model="sr.startTime" is-open="opened" timepicker-options="timeOptions" ng-required="true"/>
<span class="input-group-btn">
<button class="btn btn-default" ng-click="sr.getTime('startTime')"><i class="glyphicon glyphicon-time"></i></button>
</span>
</p>
</a>
</li></ul>Run Code Online (Sandbox Code Playgroud)
timepicker angularjs angular-ui angular-ui-bootstrap angular-ui-bootstrap-tab