我是angularjs的新手.如何在angularjs中检测userAgent.是否可以在控制器中使用它?试过类似下面的东西,但没有运气!
var browserVersion = int((/msie (\d+)/.exec(lowercase(navigator.userAgent)) || [])[1]);
Run Code Online (Sandbox Code Playgroud)
我需要专门检测IE9!
我在角度应用程序中使用bootstrap日期选择器.然而,当我从该日期选择器中选择一个日期选择器时,我已经更新了绑定的ng-model,我想要一个日期格式为'MM/dd/yyyy'的ng-model.但它每次都像这样约会
"2009-02-03T18:30:00.000Z"
Run Code Online (Sandbox Code Playgroud)
代替
02/04/2009
Run Code Online (Sandbox Code Playgroud)
我为同一个plunkr链接创建了一个plunkr
我的Html和控制器代码如下所示
<!doctype html>
<html ng-app="plunker">
<head>
<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.js"></script>
<script src="//angular-ui.github.io/bootstrap/ui-bootstrap-tpls-0.11.0.js"></script>
<script src="example.js"></script>
<link href="//netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div ng-controller="DatepickerDemoCtrl">
<pre>Selected date is: <em>{{dt | date:'MM/dd/yyyy' }}</em></pre>
<p>above filter will just update above UI but I want to update actual ng-modle</p>
<h4>Popup</h4>
<div class="row">
<div class="col-md-6">
<p class="input-group">
<input type="text" class="form-control"
datepicker-popup="{{format}}"
ng-model="dt"
is-open="opened" min-date="minDate"
max-date="'2015-06-22'"
datepicker-options="dateOptions"
date-disabled="disabled(date, mode)"
ng-required="true" close-text="Close" />
<span class="input-group-btn">
<button type="button" class="btn btn-default" ng-click="open($event)">
<i class="glyphicon glyphicon-calendar"></i></button>
</span>
</p> …Run Code Online (Sandbox Code Playgroud) datepicker angularjs angular-ui angular-ui-bootstrap angular-ngmodel
如何使用ui-router为AngularJS 提取查询参数?
在AngularJS自己的$location服务中,我做了:
($ location.search()).UID
从URL中提取参数uid.ui-router的相应代码是什么?
javascript query-parameters angularjs angular-ui angular-ui-router
的角度UI路由器允许多个嵌套视图.这些可互换观点的作用似乎与指令的作用重叠.
使用(多个,嵌套)ui-views vs angular 指令的优缺点是什么?
状态和路由是两种不同的功能.States允许您交换partial.html模板及其控制器,您可以(可选地?)指定相应的URL /路由.
在Tim Kindberg(ui-router开发者)的电子邮件回复中:
ui-view是一个指令,所以如果你使用它,你使用的指令特别适用于ui-router模块的其余部分.我无法想象很容易推出自己的指令来替换这个功能.
对此,似乎你可以有两个选择:
正常指令:
app.directive('myDir1', {/* controller: ... */})
.directive('myDir2', {/* controller: ... */})
Run Code Online (Sandbox Code Playgroud)
vs ui-view"Directives"
$stateProvider.state('route1', {
/* url: "/route1", // optional?? */
views: {
"myDir1": { templateUrl: "myDir1.html" /* , controller: ... */ },
"myDir2": { templateUrl: "myDir2.html" /* , controller: ... */ }
}
})
Run Code Online (Sandbox Code Playgroud)
奖金问题:
视图中是否有正常的角度指示功能?如:
如果ui-views ARE指令,似乎很清楚它们的用法是不同的.协调这些模型是不是有意义?
<html ng-app="app">
<head>
...
</head>
<body>
<div id="header"></div>
<div id="notification"></div>
<div id="container"></div>
<div id="footer"></div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
使用给定的app结构(派生自angular-app):
<ng-view>.所以这是所有其他模块加载的地方.状态层次结构如何?我已经看过显示单个模块(联系人)的示例,但通常应用程序将具有全局(根)状态,并且在根状态内呈现其他模块状态.
我在想的是我的app模块可能具有root状态,然后每个模块应该拥有它自己的状态,我必须从状态继承root.我对吗?
同样来自ui-state例如,他们都用了$routeProvider,并$urlRouterProvider和$stateProvider已定义的URL.我的理解$stateProvide也是处理路由.如果我错了,我应该使用哪个提供商进行路由?
编辑:http://plnkr.co/edit/wqKsKwFq1nxRQ3H667LU?p =preview
谢谢!
我正在尝试使用angular-ui的工具提示功能向我的用户显示特定字段无效但似乎工具提示只能在某些预定义的触发器上显示.除了那些触发器之外,我有什么办法可以触发工具提示吗?
例如:
<input
type="text"
tooltip="Invalid name!"
tooltip-position="right"
tooltip-trigger="myForm.username.$invalid">
Run Code Online (Sandbox Code Playgroud) 我$timeout在Modal控制器中有几个表达式
App.controller('ModalCtrl', function ($scope, $timeout) {
for (var i = 0; i < 10; i++) {
(function () {
var timer = $timeout(function () {
console.log('timer')
}, 1000);
})()
}
})
Run Code Online (Sandbox Code Playgroud)
我需要在调用模态时清除所有计时器:
App.controller('MainCtrl', function ($scope, $modal, $timeout) {
$scope.showMap = function () {
var modal = $modal.open({
templateUrl: 'modalap.html',
controller: 'modalCtrl',
})
modal.result.then(function () { //fires when modal is resolving
}, function () { //fires when modal is invoking
});
} })
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
PS对不起代码格式错误.我不知道为什么,但我不能更好地格式化它.我在这里重复了代码:
我目前正在bootstrap-UI我的机器上本地测试角度.当我尝试重新创建手风琴和对话框的例子时.我在控制台中收到此错误消息,指出该模板已丢失.
错误示例:404 Not Found - localhost/angular/template/message.html
当我查看ui-bootstrap-0.1.0.js指令时有一个模板URL.
templateURL该指令的目的是什么?
当我下载整个角度bootstrap-UIzip文件时,是否包含这些模板?
我错过了我应该包含在标题中的其他文件吗?
<link rel="stylesheet" href="includes/css/bootstrap.css">
<script src="includes/js/angular.js"></script>
<script src="includes/js/ui-bootstrap-0.1.0.js"></script>
Run Code Online (Sandbox Code Playgroud) 这可能很简单,但我在文档中找不到任何东西,谷歌搜索没有帮助.我正在尝试定义一个状态,$stateProvider我需要在服务器上点击以获取所需数据的URL取决于状态URL参数.简而言之,像:
.state('recipes.category', {
url: '/:cat',
templateUrl: '/partials/recipes.category.html',
controller: 'RecipesCategoryCtrl',
resolve: {
category: function($http) {
return $http.get('/recipes/' + cat)
.then(function(data) { return data.data; });
}
}
})
Run Code Online (Sandbox Code Playgroud)
以上不起作用.我尝试注射$routeParams以获得所需的cat参数,没有运气.这样做的正确方法是什么?