Tag: angularjs

你如何使用$ sce.trustAsHtml(string)来复制ng-bind-html-unsafe在Angular 1.2+

在Angular 1.2中删除了ng-bind-html-unsafe 我试图实现的东西,我需要使用ng-bind-html-unsafe 。 在文档和github上,他们说: 当绑定到$ sce.trustAsHtml(string)的结果时,ng-bind-html提供ng-html-bind-unsafe类似的行为(innerHTML的结果没有消毒)。 你怎么做到这一点?

如何绑定到AngularJS的checkbox值列表?

我有几个checkbox: <input type='checkbox' value="apple" checked> <input type='checkbox' value="orange"> <input type='checkbox' value="pear" checked> <input type='checkbox' value="naartjie"> 我想绑定到我的控制器中的列表,只要checkbox被更改,控制器就会维护所有选中值的列表,例如['apple', 'pear'] 。 ng-model似乎只能将单个checkbox的值绑定到控制器中的一个variables。 有没有另外的方法来做到这一点,我可以将四个checkbox绑定到控制器中的列表?

如何在AngularJS中使用ng-repeat迭代键和值?

在我的控制器中,我有这样的数据: $scope.object = data 现在这个数据是带有json键和值的字典。 我可以在模板中使用object.name访问属性。 有没有什么办法可以迭代键,并将它们显示在表中 <tr><td> {{key}} </td> <td> data.key </td> 数据是这样的 { "id": 2, "project": "wewe2012", "date": "2013-02-26", "description": "ewew", "eet_no": "ewew", }

在Angular指令中recursion

有几个受欢迎的recursionangular度指令Q&A在那里,这一切都归结为以下解决scheme之一: 根据运行时作用域状态手动递增“编译”HTML 示例1 [ stackoverflow ] 例2 [ angular jsfiddles page ] 根本不要使用指令,而是引用自身的<script>模板 示例1 [ google groups ] 第一个问题是你不能删除以前编译的代码,除非你理解了手动编译过程。 第二种方法存在的问题是…不是一个指令,错过了强大的function,但更迫切的是,它不能像指令一样参数化; 它只是绑定到一个新的控制器实例。 我一直在手动做链接函数中的angular.bootstrap或@compile() ,但是这给我留下了手动跟踪要移除和添加的元素的问题。 有没有一个好的方法来有一个参数化的recursion模式,pipe理添加/删除元素来反映运行时状态? 也就是说,一个带有添加/删除节点button的树以及一些其值被传递到节点的子节点的input字段。 也许第二种方法与链式范围的组合(但我不知道如何做到这一点)?

AngularJS为一个跨源资源执行一个OPTIONS HTTP请求

我正在尝试设置AngularJS与交付我的模板文件的资产主机位于不同域的跨源资源进行通信,因此angular度执行的XHR请求必须跨域。 我已经添加了适当的CORS头到我的服务器的HTTP请求,使其工作,但它似乎并没有工作。 问题是,当我检查我的浏览器(铬)HTTP请求发送到资产文件的请求是一个OPTIONS请求(它应该是一个GET请求)。 我不确定这是否是AngularJS中的错误,或者是否需要configuration。 从我所了解的XHR包装器不能做一个OPTIONS HTTP请求,所以它看起来像浏览器试图找出是否“允许”下载资产之前执行GET请求。 如果是这种情况,那么是否需要使用资产主机设置CORS头(Access-Control-Allow-Origin: http : //asset.host .. )?

AngularJS路由没有哈希'#'

我正在学习AngularJS,有一件事情让我非常恼火。 我使用$routeProvider为我的应用程序声明路由规则: $routeProvider.when('/test', { controller: TestCtrl, templateUrl: 'views/test.html' }) .otherwise({ redirectTo: '/test' }); 但是当我在浏览器中导航到我的应用程序时,我看到app/#/test而不是app/test 。 所以我的问题是为什么AngularJS将这个哈希#添加到url? 有没有可能避免它?

处理服务中的$ http响应

我最近发布了关于我在SO所面临的问题的详细描述。 因为我无法发送实际的$http请求,所以我使用timeout来模拟asynchronous行为。 从@Gloopy的帮助下,从我的模型查看数据的function是正确的 现在,当我使用$http而不是$timeout (本地testing)时,我可以看到asynchronous请求成功, data在我的服务中填充了json响应。 但是,我的观点并没有更新。 在这里更新了Plunkr

这是一个“延迟反模式”?

我发现很难理解“延迟反模式”。 我认为我理解它的原则,但我还没有看到一个超级简单的例子是什么服务,有不同的承诺,有一个反模式,所以我想我会尽我所能,但看到我不怎么样超级在知道它我会得到一些澄清第一。 我在下面的工厂(SomeFactory): //url = 'data.json'; return { getData: function(){ var deferred = $q.defer(); $http.get(destinationFactory.url) .then(function (response) { if (typeof response.data === 'object') { deferred.resolve(response.data); } else { return deferred.reject(response.data); } }) .catch(function (error) { deferred.reject(error); }); return deferred.promise; } 我检查它的一个对象的原因只是添加一个简单的validation层到$http.get() 在下面,在我的指示: this.var = SomeFactory.getData() .then(function(response) { //some variable = response; }) .catch(function(response) { //Do […]

AngularJs $ http.post()不发送数据

任何人都可以告诉我为什么以下声明不发送发布数据到指定的url? URL被调用,但在服务器上,当我打印$ _POST – 我得到一个空的数组。 如果我在控制台中打印消息,然后将其添加到数据 – 它显示正确的内容。 $http.post('request-url', { 'message' : message }); 我也试着用数据作为string(具有相同的结果): $http.post('request-url', "message=" + message); 当我以下列格式使用它时,它似乎正在工作: $http({ method: 'POST', url: 'request-url', data: "message=" + message, headers: {'Content-Type': 'application/x-www-form-urlencoded'} }); 但有没有办法做到这一点$ http.post() – 我总是必须包括头为了它的工作? 我相信上面的内容types是指定发送数据的格式,但是我可以把它作为javascript对象发送吗?

AngularJS:用asynchronous数据初始化服务

我有一个AngularJS服务,我想用一些asynchronous数据进行初始化。 像这样的东西: myModule.service('MyService', function($http) { var myData = null; $http.get('data.json').success(function (data) { myData = data; }); return { setData: function (data) { myData = data; }, doStuff: function () { return myData.getSomeData(); } }; }); 显然,这是行不通的,因为如果在myData返回之前试图调用doStuff() ,我将得到一个空指针exception。 据我所知,在这里和这里提出的其他一些问题,我有几个select,但没有一个看起来很干净(也许我错过了一些东西): 安装服务与“运行” 当设置我的应用程序这样做: myApp.run(function ($http, MyService) { $http.get('data.json').success(function (data) { MyService.setData(data); }); }); 然后我的服务将如下所示: myModule.service('MyService', function() { var […]