Tag: angularjs

Angularjs:input ngChange在值改变时触发

ngChange在值改变时触发(ngChange与经典的onChange事件不相似)。 我怎么能绑定经典的onChange事件与angularjs,只会触发内容提交? 当前绑定: <input type="text" ng-model="name" ng-change="update()" />

AngularJS:如何在AngularJS渲染模板之后运行其他代码?

我在DOM中有一个Angular模板。 当我的控制器从服务中获取新数据时,它会更新$ scope中的模型,并重新呈现模板。 迄今为止都很好。 问题是我需要在模板被重新渲染并且在DOM(在这个例子中是一个jQuery插件)之后做一些额外的工作。 似乎应该有一个事件来听,如AfterRender,但我找不到任何这样的事情。 也许一个指令将是一条路要走,但似乎也太火了。 这是一个jsFiddle概述我的问题: 小提琴AngularIssue ==更新== 基于有用的评论,我已经相应地切换到处理DOM操作的指令,并在指令中实现了一个模型$ watch。 不过,我仍然有相同的基础问题; $ watch事件中的代码在模板被编译并插入到DOM之前触发,因此,jquery插件总是评估一个空表。 有趣的是,如果我删除asynchronous调用,整个事情就可以正常工作,所以这是一个正确的方向。 这是我更新的小提琴,以反映这些变化: http : //jsfiddle.net/uNREn/12/

什么是$ $$ hashKey添加到我的JSON.stringify结果

我曾尝试寻找他们的文档的Mozilla JSON stringify页面以及SO和Google的这里,但没有find任何解释。 我已经使用JSOn很多时间,但从来没有遇到过这个结果 我有一个JSON对象的数组 [ { "param_2": "Description 1", "param_0": "Name 1", "param_1": "VERSION 1" }, { "param_2": "Description 2", "param_0": "Name 2", "param_1": "VERSION 2" }, { "param_2": "Description 3", "param_0": "Name 3", "param_1": "VERSION 3" } ] 附加到我的$scope和为了发布他们作为一个参数我使用JSON.stringify()方法,我得到以下内容: [ { "param_2": "Description 1", "param_0": "Name 1", "param_1": "VERSION 1", "$$hashKey": "005" }, […]

AngularJSdynamic路由

我目前有一个AngularJS应用程序内置的路由。它的工作原理,一切都很好。 我的app.js文件如下所示: angular.module('myapp', ['myapp.filters', 'myapp.services', 'myapp.directives']). config(['$routeProvider', function ($routeProvider) { $routeProvider.when('/', { templateUrl: '/pages/home.html', controller: HomeController }); $routeProvider.when('/about', { templateUrl: '/pages/about.html', controller: AboutController }); $routeProvider.when('/privacy', { templateUrl: '/pages/privacy.html', controller: AboutController }); $routeProvider.when('/terms', { templateUrl: '/pages/terms.html', controller: AboutController }); $routeProvider.otherwise({ redirectTo: '/' }); }]); 我的应用程序内置了一个CMS,您可以在/ pages目录中复制和添加新的html文件。 即使对于新的dynamic添加的文件,我仍想通过路由提供程序。 在理想的世界中,路由模式将是: $ routeProvider.when('/ pagename ',{templateUrl:'/ pages / pagename .html',controller:CMSController}); […]

使用ng-repeat在列表中分页

我正在尝试将页面添加到我的列表中。 我跟着AngularJS教程,关于智能手机,我试图显示只有一定数量的对象。 这是我的html文件: <div class='container-fluid'> <div class='row-fluid'> <div class='span2'> Search: <input ng-model='searchBar'> Sort by: <select ng-model='orderProp'> <option value='name'>Alphabetical</option> <option value='age'>Newest</option> </select> You selected the phones to be ordered by: {{orderProp}} </div> <div class='span10'> <select ng-model='limit'> <option value='5'>Show 5 per page</option> <option value='10'>Show 10 per page</option> <option value='15'>Show 15 per page</option> <option value='20'>Show 20 per page</option> […]

我应该使用`this`还是`$ scope`?

有两种模式用于访问控制器function: this和$scope 。 我应该使用什么和什么时候? 我知道this是设置为控制器和$scope是一个对象在范围链视图。 但是用新的“Controller as Var”语法,你可以很容易地使用。 所以我问的是什么是最好的,未来的方向是什么? 例: 使用this function UserCtrl() { this.bye = function() { alert('….'); }; } <body ng-controller='UserCtrl as uCtrl'> <button ng-click='uCtrl.bye()'>bye</button> 使用$scope function UserCtrl($scope) { $scope.bye = function () { alert('….'); }; } <body ng-controller='UserCtrl'> <button ng-click='bye()'>bye</button> 我个人发现this.name比其他的Javascript OO模式更容易在眼睛上,更自然。 请教?

Angular如何不在范围内更新?

我对Angular来说很新,而且我正在使用Firebase作为后端。 我希望有人可以debugging这个问题。 当我第一次去我的页面www.mywebsite.com/#defaultHash数据不会加载到DOM,它访问另一个哈希链接后,然后回来。 我的控制器是这样的: /* initialize data */ var fb = new Firebase('https://asdf.firebaseio.com/'); /* set data to automatically update on change */ fb.on('value', function(snapshot) { var data = snapshot.val(); $scope.propertyConfiguration = data.products; console.log($scope.propertyConfiguration); console.log("Data retrieved"); }); /* save data on button submit */ $scope.saveConfigs = function(){ var setFBref = new Firebase('https://asdf.firebaseio.com/products'); setFBref.update($scope.propertyConfiguration); console.log("configurations saved!"); }; […]

使用ui-router显示404错误页面时如何更改url

我想显示404错误页面,但也想保存位置错误的url。 如果我会做这样的事情: $urlRouterProvider.otherwise('404'); $stateProvider .state('404', { url: '/404', template: error404Template }); url将更改为/404 。 如何在错误的URL上显示错误信息而不改变实际的URL?

如何生成与AngularJS的URL编码锚链接?

<a href="#/search?query={{address}}" ng-repeat="address in addresses"> {{address}} </a> 如果我理解正确,将生成未经过url编码的链接。 什么是编码#/search?query={{address}}的正确方法? 示例地址是1260 6th Ave, New York, NY 。

如何find一个理由AngularJS“参数”MyCtrl“不是一个函数,得到了未定义的”

当AngularJS崩溃时出现错误“ 参数”MyCtrl“不是一个函数,得到了未定义 ”这可能是有点挑战find一个原因。 在这里我想做一个“检查清单”,你应该检查什么时候出现错误