标签: angular-ui

为什么光标在angular-ui-bootstrap中没有变为指针/手上的Tabs,Pagination,Dropdown Toggle等?

我必须添加以下代码:

<style type="text/css">a {cursor:pointer;}</style>

在angular-ui-bootstrap中将光标更改为指针/手指在Tabs,Pagination,Dropdown Toggle等链接上.

为什么默认情况下它不会改变为指针?这是故意这样做的吗?这不是纯bootstrap中的正常情况.

非常感谢.

css angularjs angular-ui angular-ui-bootstrap

9
推荐指数
1
解决办法
6580
查看次数

仅使用键盘导航UI

我正在尝试仅使用键盘浏览记录列表.当页面加载时,默认的"焦点"应该在第一条记录上,当用户单击键盘上的向下箭头时,需要关注下一条记录.当用户单击向上箭头时,应该关注先前的记录.当用户单击Enter按钮时,它应该将它们带到该记录的详细信息页面.

这是我到目前为止在Plunkr上所拥有的.

似乎AngularJS在1.1.5(不稳定)中支持这一点,我们不能在生产中使用它.我目前正在使用1.0.7.我希望做这样的事情 - 密钥应该在文档级别处理.当用户按下某个键时,代码应该在允许的键数组中查找.如果找到匹配(例如向下键代码),它应该移动焦点(应用.highlight css)到下一个元素.当按下enter时,它应该抓取.highlight css的记录并获取记录ID以供进一步处理.

谢谢!

navigation keypress angularjs angular-ui

9
推荐指数
2
解决办法
2万
查看次数

Angular UI Select2,为什么ng-model被设置为JSON字符串?

我正在使用angular-ui的select2进行相当简单的下拉菜单.它由我控制器范围内的静态数据阵列支持.在我的控制器中,我有一个函数,可以在下拉列表的ng-change上调用,以便在值发生变化时执行一些操作.

但是,我发现,ng-model的属性被设置为JSON字符串而不是实际的javascript对象,这使得无法使用点表示法从该模型中获取属性.

这是处理更改下拉列表值的函数:

$scope.roleTypeChanged = function() {
  //fine:
  console.log('selectedType is: ', $scope.adminModel.selectedType);

  // this ends up being undefined because $scope.adminModel.selectedType is a 
  // JSON string, rather than a js object:
  console.log('selectedType.typeCode is: ', $scope.adminModel.selectedType.typeCode);
}
Run Code Online (Sandbox Code Playgroud)

以下是我的完整示例的一个内容:http://plnkr.co/edit/G39iZC4f7QH05VctY8zG

我以前从未见过一个与ng-model绑定的属性,但是我对Angular也很新,所以我可能在这里做错了.我当然可以像$ .parseJSON()那样将JSON字符串转换回对象,但除非必须,否则我宁愿不这样做.谢谢你的帮助!

angularjs jquery-select2 angular-ui

9
推荐指数
1
解决办法
9300
查看次数

更改Angular ui-bootstrap模板的文件夹位置

我正在尝试将ui-bootstrap.min.js与外部模板一起使用.

我得到的错误是:

http://localhost:13132/Place/template/timepicker/timepicker.html 404 (Not Found) 
Run Code Online (Sandbox Code Playgroud)

我想为每个页面,每个模板,它在下面寻找我的模板:

http://localhost:13132/js/app/template/...
Run Code Online (Sandbox Code Playgroud)

但我似乎无法找到我可以改变指向的位置.

有谁知道怎么做这个改变?

javascript angularjs angular-ui

9
推荐指数
1
解决办法
4682
查看次数

当我仅使用ui-router查看父状态时,如何自动转到上次选择的子状态?

我有以下设置:

   var admin = {
        name: 'admin',
        url: '/admin',
        views: {
            'menu': {
                templateUrl: '/Content/app/admin/partials/menu.html',
            },
            'content': {
                templateUrl: function (stateParams) {
                    var content = localStorage.getItem('ls.adminPage');
                    if (content != null && content != "") {
                        return '/Content/app/admin/partials/' + content + '.html';
                    }  else {
                        return '/Content/app/common/partials/empty.html';
                    }
                }
            }
        }
    };

    var adminContent = {
        name: 'admin.content',
        parent: 'admin',
        url: '/:content',
        views: {
            'content@': {
                templateUrl: function (stateParams) {
                    localStorage.setItem('ls.adminPage', stateParams.content);
                    return '/Content/app/admin/partials/' + stateParams.content + '.html';
                },
            }
        } …
Run Code Online (Sandbox Code Playgroud)

angularjs angular-ui angular-ui-router

9
推荐指数
1
解决办法
390
查看次数

将ng-click事件插入ng-grid

我想做一些我不知道是否可能的事情

HTML

<!DOCTYPE html>
    <html ng-app="myApp">
    <head lang="en">
        <meta charset="utf-8">
        <title>Custom Plunker</title>  
        <link rel="stylesheet" type="text/css" href="http://angular-ui.github.com/ng-grid/css/ng-grid.css" />
        <link rel="stylesheet" type="text/css" href="style.css" />
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.2/angular.min.js"></script>
        <script type="text/javascript" src="http://angular-ui.github.com/ng-grid/lib/ng-grid.debug.js"></script>
        <script type="text/javascript" src="main.js"></script>
    </head>
    <body ng-controller="MyCtrl">
        <div class="gridStyle" ng-grid="gridOptions"></div>
    </body>
 </html>
Run Code Online (Sandbox Code Playgroud)

JS

// main.js
var app = angular.module('myApp', ['ngGrid']);
app.controller('MyCtrl', function($scope) {
    $scope.myData = [{name: "Moroni", age: 50},
                     {name: "Tiancum", age: 43},
                     {name: "Jacob", age: 27},
                     {name: "Nephi", age: 29},
                     {name: "Enos", age: 34}];
    $scope.gridOptions = { data: 'myData',
                         cellTemplate:'<div class="ngCellText" …
Run Code Online (Sandbox Code Playgroud)

events angularjs angular-ui ng-grid angularjs-ng-click

9
推荐指数
3
解决办法
3万
查看次数

ANGULAR-UI-ROUTER:从URL解析状态

我正在创建一个具有动态状态的应用程序,有时我需要从URL解析状态名称.

例如:我有/dashboard/user/12268,我需要得到这个州'dashboard.user'.

有没有办法用这些工具来做到这一点ui-router?我现在无法知道如何做到这一点......

我正在使用requireJS进行动态模块加载的应用程序.第一次没有问题,因为用户被发送到登录状态.登录后,我使用require只加载用户有权访问的状态.但是当用户重新加载页面时,我再次加载模块,并需要将URL解析为状态,并且存在问题.我已经开始尝试使用urlMatcherFactory但无法解决它们.

在URL解析后加载状态.

流程是(刷新页面后http://localhost:8090/index.html#/dashboard/user/12268):

  • 引导应用程序(没有状态)
  • 此时,ui-router已经装好了
  • 获取用户有权访问的状态,并注册它们(这些状态配置阶段注册)
  • 找出我是否有一个匹配给定网址的状态重定向到那里.这就是我被困住的地方.

为了在应用程序引导之后加载状态,我使用了Ben Nadel解决方案的变体,其中包括状态和常量.

data-main在RequireJS中有这个初始化代码:

require.config({
    // REQUIREJS CONFIGURATION
});

require(['app'], function (app) {
    app.bootstrap(document);

    var ng = angular.injector(['ng']);
    var $window = ng.get('$window')
    var $q = ng.get('$q');

    var appStorage = $window.localStorage;
    var loadedManifests;

    try {
        loadedManifests = JSON.parse(appStorage.getItem('loadedManifests'));
    } catch(e) {
        loadedManifests = [];
    }

    if (!angular.isArray(loadedManifests) || loadedManifests.length === 0) {
        $q.all([
                app.loadManifest('login/manifest'), …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-ui angular-ui-router

9
推荐指数
2
解决办法
5864
查看次数

Angular-ui:是否有任何模态打开?

如果任何模态打开,我想启动代码.通常我想要的东西是这样的:

    $scope.$watch(function () {
            return $modal.isOpenState;
        }, function (val) {
            //my code here
        }, true
    );
Run Code Online (Sandbox Code Playgroud)

但我不知道该看什么.是的,我可以检测每个实例的开放事件,例如:

modalInstance.opened.then(function() {
    //my code here
});
Run Code Online (Sandbox Code Playgroud)

但这不是干.

PS还有我可以让类似$('.modal').hasClass('in')$watch功能,但是这是有点丑

PPS和btw我正在使用ui-router打开模态(参见faq here)

    $modal.open({
        templateUrl: "...",
        resolve: {...  },
        controller: function($scope) { ... }
    }).result.finally(function() {
        //can put code here, but same issue
    });
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angular-ui angularjs-scope

9
推荐指数
1
解决办法
498
查看次数

如果在uib-tabset中使用,则值不与作用域的变量绑定

如果在uib-tabset中使用,则值不与作用域的变量绑定.在下面的示例中,我尝试$scope.message进入uib-tab内部并在其外部:

angular.module("app", ["ui.bootstrap"])
		.controller("myctrlr", ["$scope", function($scope){
            $scope.message = "my message ";
		}]);
Run Code Online (Sandbox Code Playgroud)
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/0.14.3/ui-bootstrap-tpls.min.js"></script>
<div ng-app="app" ng-controller="myctrlr" class="col-md-6 col-md-offset-3">
	<uib-tabset>
	    <uib-tab heading="Static title">
            <input type="text" ng-model="message" ng-change="change()" /> 
            <br />
            Inside uib-tab : {{ message }}
	  	</uib-tab>
	    <uib-tab heading="Another title">
	      I've got an HTML heading, and a select callback. Pretty cool!
	    </uib-tab>
  	</uib-tabset>
    Outside uib-tab : {{ message }}
</div>
Run Code Online (Sandbox Code Playgroud)

我声明$scope.message并尝试将其与inputuib-tab中的元素绑定.但是当我更改它的值时,更改不会反映在uib-tab之外.

jsfiddle链接

html javascript angularjs angular-ui

9
推荐指数
1
解决办法
6532
查看次数

可拖动的角度UI模式失去焦点

在这个插件中,我有一个带有可拖动标题栏的Angular UI模式.拖动条形图时,整个模态会移动.问题是,如果我相对快速地上下移动鼠标,光标会失去对条的焦点,模态会停止移动.任何想法如何解决这一问题?任何其他方法也欢迎.

HTML

  <body ng-app="app" ng-controller="ctl">

  <script type="text/ng-template" id="myModalContent.html">
        <div class="topbar">This is the title</div>

        <div class="modal-header">
            <h3 class="modal-title" id="modal-title">I'm a modal!</h3>
        </div>


        <div class="modal-footer">
            <button class="btn btn-primary" type="button" ng-click="ok()">OK</button>
        </div>
    </script>

    <button type="button" class="btn btn-default" ng-click="open()">Open me!</button>

   </body>
Run Code Online (Sandbox Code Playgroud)

使用Javascript

var app = angular.module("app", ['ui.bootstrap']);
app.controller("ctl", function($scope,$uibModal,$timeout) {

  var modalInstance;
  $scope.open = function () {
    modalInstance = $uibModal.open({
          animation: false,
          windowClass: 'the-modal',
          templateUrl: 'myModalContent.html'
        });

        $timeout(function(){
          $('.modal-content').draggable({
            drag: function( event, ui ) {
              if(event.toElement.className.indexOf("topbar") == -1 ) return false; …
Run Code Online (Sandbox Code Playgroud)

jquery-ui jquery-ui-draggable angularjs angular-ui angular-ui-bootstrap

9
推荐指数
1
解决办法
1189
查看次数