Tag: angularjs

如何更改范围之外的AngularJS数据?

经过几个小时的沮丧search,我觉得我需要在这里提交我的问题。 如果这个问题在某种程度上被回答了,我很抱歉,但是到目前为止我的search都没有帮助。 所以这是我的问题: 我的JavaScript代码正在创build一个对象,由AngularJS修改和监视。 在某些事件上(如加载对象的先前设置),我希望从该范围之外更改此对象的属性。 问题是input不会改变… 以下是我希望执行这些更改的示例: HTML代码: <div ng-app="myApp" ng-controller="FirstCtrl"> <input type="number" ng-model="data.age"> <h1>{{data.age}}</h1> <input type="button" value="Change to 20" ng-model="data" onclick="change()"> JavaScript代码: var person = { age: 16 }; // Create module var myApp = angular.module('myApp', []); myApp.factory('Data', function() { return person; }); function FirstCtrl($scope, Data) { $scope.data = Data; } function change() { […]

orderBy两个字段(一个反向)

我想按状态(在线第一,离线最后)和按字母顺序排列朋友列表。 我设法得到的是: 在线优先/颠倒字母顺序 或脱机第一次/按字母顺序 这里是暴露暴露我的问题

angularjs – ng-switch不绑定ng-model

我有这个repro http://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq显示当我点击“标题3”,并在文本框中input一个值,虽然input的值显示反映在用户界面,当我点击“点击”button什么都不是绑定为范围属性$ scope.test。 我不知道ng-switch有什么问题,或者我做错了什么。 帮助表示赞赏! http://embed.plnkr.co/nVCmukG5abpi1Y4ZHkrq

AngularJS基于桌面或移动的不同视图

我想使用AngularJS的单个页面的Web应用程序。 我担心是否有一种优雅的方式来根据客户端是手机还是桌面“发送”不同的模板。 有没有办法做到这一点? build议networking服务器“理解”浏览器是什么,并相应地发送视图,所以浏览器总是要求template.html或者你写的JavaScript,所以浏览器会告诉networking服务器获得mobile / template.html?

Angularjs监视父范围的变化

我正在写一个指令,我需要观察父变化的范围。 不知道如果我这样做的首选方式,但它不与以下代码工作: scope.$watch(scope.$parent.data.overlaytype,function() { console.log("Change Detected…"); }) 这是login窗口的负载,但不会再次,即使overlaytype被改变。 我怎样才能看overlaytype的变化? 编辑:这是整个指令。 不完全确定为什么我要得到一个孩子的范围 /* Center overlays vertically directive */ aw.directive('center',function($window){ return { restrict : "A", link : function(scope,elem,attrs){ var resize = function() { var winHeight = $window.innerHeight – 90, overlayHeight = elem[0].offsetHeight, diff = (winHeight – overlayHeight) / 2; elem.css('top',diff+"px"); }; var watchForChange = function() { return […]

如何在AngularJS的ngInclude指令中指定模型?

我想在3个地方使用相同的HTML模板,每次都使用不同的模型。 我知道我可以访问模板中的variables,但是名称会有所不同。 有没有办法将模型传递给ngInclude? 这是我想实现的,当然,属性add-variable现在不起作用。 然后在我包含的模板中,我将访问detailsObject及其属性。 <pane title="{{projectSummary.ProjectResults.DisplayName}}"> <h2>{{projectSummary.ProjectResults.DisplayName}}</h2> <ng-include src="'Partials/SummaryDetails.html'" init-variable="{'detailsObject': projectSummary.ProjectResults}"></ng-include> </pane> <pane title="Documents" header="true"></pane> <pane ng-repeat="document in projectSummary.DocumentResults" title="{{document.DisplayName}}"> <h2>{{document.DisplayName}}</h2> <ng-include src="'Partials/SummaryDetails.html'" add-variable="{'detailsObject': document}"></ng-include> </pane> <pane ng-repeat="header in [1]" title="Languages" header="true"></pane> <pane ng-repeat="language in projectSummary.ResultsByLanguagePairs" title="{{language.DisplayName}}"> <h2>{{document.DisplayName}}</h2> <ng-include src="'Partials/SummaryDetails.html'" add-variable="{'detailsObject': language}"></ng-include> </pane> 如果我使用ng-include的方法不好,还有什么我应该尝试的?

AngularJS / Angular-ui-bootstrap更改datePicker使用的语言

我使用这里logging的datePicker。 但是,没有直接选项允许更改语言,默认情况下是英文 。 我find了一个没有angular指令的widget的文档,它提供了一个很好的方法来实现它: http://bootstrap-datepicker.readthedocs.org/en/latest/i18n.html 有没有简单的方法,避免调整原指令的源代码,改变它?

Angular UI-Router多个视图

我正在使用angular度UI路由器。 我有我的路线configuration下面 .config(function config($stateProvider) { $stateProvider.state('newsFeedView', { url: '/newsFeed', controller: 'newsFeedController', templateUrl: '../src/app/bulletinBoard/views/newsFeed.part.html', data: { pageTitle: 'News Feed' } }) .state('tradeFeedView', { url: '/tradeFeed', controller: 'tradeFeedController', templateUrl: '../src/app/bulletinBoard/views/tradeFeed.part.html', data: { pageTitle: 'Trade Feed' } }) .state('bulletinBoard', { url: '/bulletinBoard', views: { 'tradeFeed': { url: "", controller: 'tradeFeedController', templateUrl: '../src/app/bulletinBoard/views/tradeFeed.part.html' }, 'newsFeed': { url: "", controller: […]

点击外部时,隐藏Angular UI Bootstrappopup窗口

我试图手动closures一个引导popup窗口让它closures,当我点击document或body不是popup窗口的任何地方。 我发现完成这个最接近的事情是创build一个指令( find这个答案 ),但这是一个手动触发,如果一个variables是true或false 。 任何人都可以帮我弄清楚如何点击不是popup窗口的东西? 我不介意使用jQuery $(document).click(function(e){}); 我只是不知道如何打电话结束。 <div id="new_button" popover-template="plusButtonURL" popover-placement="right" popover-append-to-body="true" popover-animation="false">+</div> 通常情况下, popover-trigger="focus"可以做到这一点,但是我的popover包含需要点击的内容。 如果我使用焦点触发器,我的popup窗口中会有一个ng-click ,所以我正在寻找一种不太常规的方法来解决这个问题。

使用ngRepeat =>不可编辑的input将input绑定到一系列基元

这是我的问题的演示 。 $scope.myNumbers = [10, 20, 30]; <div ng-repeat="num in myNumbers"> <input type="text" ng-model="num"> <div>current scope: {{num}}</div> </div> 任何人都可以向我解释为什么input不可编辑/只读? 如果是devise,背后的理由是什么? 更新2/20/2014 看起来这不再是v1.2.0 + Demo的问题。 但请记住,尽pipe用户控件现在可以使用更新的angularJS版本进行编辑,但它是子范围中的num属性,而不是父范围,它被修改。 换句话说,修改用户控件中的值不会影响myNumbers数组。