Questions tagged «angularjs»

用于有关开源JavaScript框架AngularJS(1.x)的问题。不要将此标签用于Angular 2或更高版本;而是使用[angular]标签。

11
如何在没有jQuery的情况下使用$ http发布urlencode表单数据?
我是AngularJS的新手,一开始,我想只使用AngularJS开发一个新的应用程序。 我正在尝试使用$httpAngular应用程序向服务器端进行AJAX调用。 为了发送参数,我尝试了以下操作: $http({ method: "post", url: URL, headers: {'Content-Type': 'application/x-www-form-urlencoded'}, data: $.param({username: $scope.userName, password: $scope.password}) }).success(function(result){ console.log(result); }); 这是可行的,但同时也在使用jQuery $.param。为了消除对jQuery的依赖,我尝试了: data: {username: $scope.userName, password: $scope.password} 但这似乎失败了。然后我尝试了params: params: {username: $scope.userName, password: $scope.password} 但这似乎也失败了。然后我尝试了JSON.stringify: data: JSON.stringify({username: $scope.userName, password: $scope.password}) 我找到了这些可能的答案,但未成功。难道我做错了什么?我敢肯定,AngularJS将提供此功能,但是如何?

7
AngularJS:ng-show / ng-hide不适用于`{{}}`插值
我试图使用AngularJS提供的ng-show和ng-hide函数显示/隐藏一些HTML 。 根据文档,这些功能的各自用法如下: ngHide – {表达式}-如果表达式为true,则分别显示或隐藏该元素。ngShow – {表达式}-如果表达式为真,则分别显示或隐藏该元素。 这适用于以下用例: <p ng-hide="true">I'm hidden</p> <p ng-show="true">I'm shown</p> 但是,如果我们使用对象中的参数作为表达式,则ng-hide和ng-show被赋予正确的true/ false值,但这些值不会被视为布尔值,因此始终返回false: 资源 <p ng-hide="{{foo.bar}}">I could be shown, or I could be hidden</p> <p ng-show="{{foo.bar}}">I could be shown, or I could be hidden</p> 结果 <p ng-hide="true">I should be hidden but I'm actually shown</p> <p ng-show="true">I …

24
使用AngularJS HTML5模式重新加载页面会给出错误的GET请求
我想为我的应用启用HTML5模式。我已经把下面的代码的配置,如图所示在这里: return app.config(['$routeProvider','$locationProvider', function($routeProvider,$locationProvider) { $locationProvider.html5Mode(true); $locationProvider.hashPrefix = '!'; $routeProvider.when('/', { templateUrl: '/views/index.html', controller: 'indexCtrl' }); $routeProvider.when('/about',{ templateUrl: '/views/about.html', controller: 'AboutCtrl' }); 如您所见,我使用,$locationProvider.html5mode并且更改了所有的链接ng-href以排除/#/。 问题 目前,我可以转到localhost:9000/并查看索引页面,然后导航到其他页面,例如localhost:9000/about。 但是,刷新localhost:9000/about页面时会出现问题。我得到以下输出:Cannot GET /about 如果我看网络通话: Request URL:localhost:9000/about Request Method:GET 如果我先进入localhost:9000/然后单击导航到的按钮,/about我会得到: Request URL:http://localhost:9000/views/about.html 完美呈现页面。 刷新时如何启用angular以获得正确的页面?


11
angular.js中的内联条件
我想知道是否有一种方法可以使用ng-show等方法来有条件地显示内容,例如在骨干.js中,我可以对模板中的内联内容执行以下操作: <% if (myVar === "two") { %> show this<% } %> 但在角度上,我似乎仅限于显示和隐藏包装在html标签中的东西 <p ng-hide="true">I'm hidden</p> <p ng-show="true">I'm shown</p> 用angular推荐的仅使用{{}}而不是将内容包装在html标签中的有条件显示和隐藏inline内容的推荐方法是什么?

13
AngularJS不发送隐藏字段值
对于特定的用例,我必须以“旧方式”提交单个表单。意思是,我使用带有action =“”的表单。响应已流式传输,因此我不会重新加载页面。我完全知道,典型的AngularJS应用程序不会以这种方式提交表单,但是到目前为止,我别无选择。 也就是说,我尝试从Angular填充一些隐藏字段: <input type="hidden" name="someData" ng-model="data" /> {{data}} 请注意,显示的是正确的数据值。 该表格看起来像一个标准表格: <form id="aaa" name="aaa" action="/reports/aaa.html" method="post"> ... <input type="submit" value="Export" /> </form> 如果我点击了提交,则没有值发送到服务器。如果我将输入字段更改为键入“文本”,它将按预期工作。我的假设是隐藏字段没有真正填充,而文本字段实际上是由于双向绑定而显示的。 有什么想法可以提交由AngularJS填充的隐藏字段吗?



11
您可以在不重新加载AngularJS中的控制器的情况下更改路径吗?
之前有人问过这个问题,从答案来看它看起来并不好。我想考虑一下此示例代码... 我的应用程序将当前项目加载到提供它的服务中。有几个控制器可以在不重新加载项目的情况下操纵项目数据。 如果尚未设置,我的控制器将重新加载该项目,否则,它将在控制器之间使用该服务中当前加载的项目。 问题:我想为每个控制器使用不同的路径,而无需重新加载Item.html。 1)有可能吗? 2)如果这不可能,那么与我在这里提出的相比,是否有更好的方法为每个控制器设置路径? app.js var app = angular.module('myModule', []). config(['$routeProvider', function($routeProvider) { $routeProvider. when('/items', {templateUrl: 'partials/items.html', controller: ItemsCtrl}). when('/items/:itemId/foo', {templateUrl: 'partials/item.html', controller: ItemFooCtrl}). when('/items/:itemId/bar', {templateUrl: 'partials/item.html', controller: ItemBarCtrl}). otherwise({redirectTo: '/items'}); }]); Item.html <!-- Menu --> <a id="fooTab" my-active-directive="view.name" href="#/item/{{item.id}}/foo">Foo</a> <a id="barTab" my-active-directive="view.name" href="#/item/{{item.id}}/bar">Bar</a> <!-- Content --> <div …
191 angularjs 

10
AngularJS。如何从控制器组件外部调用控制器功能
如何从网页的任何位置(控制器组件外部)调用控制器下定义的函数? 当我按下“获取”按钮时,它可以完美工作。但是我需要从div控制器外部调用它。逻辑是:默认情况下,我的div是隐藏的。在导航菜单中的某个位置,我按了一个按钮,它应该显示()我的div并执行“获取”功能。我该如何实现? 我的网页是: <div ng-controller="MyController"> <input type="text" ng-model="data.firstname" required> <input type='text' ng-model="data.lastname" required> <form ng-submit="update()"><input type="submit" value="update"></form> <form ng-submit="get()"><input type="submit" value="get"></form> </div> 我的js: function MyController($scope) { // default data and structure $scope.data = { "firstname" : "Nicolas", "lastname" : "Cage" }; $scope.get = function() { $.ajax({ url: "/php/get_data.php?", type: "POST", …
190 angularjs 

8
有没有一种方法可以使AngularJS在开始时而不是在需要时加载局部变量?
我有这样的路由设置: var myApp = angular.module('myApp', []). config(['$routeProvider', function ($routeProvider) { $routeProvider. when('/landing', { templateUrl: '/landing-partial', controller: landingController }). when('/:wkspId/query', { templateUrl: '/query-partial', controller: queryController }). otherwise({ redirectTo: '/landing' }); }]); 我希望能够使angularjs在开始时而不是在要求时下载两个部分。 可能吗?
190 angularjs 

10
如何在angular.js中实现history.back()
我有指令,它是带有后退按钮的网站标题,我想单击可返回上一页。我如何以有角度的方式做到这一点? 我努力了: <header class="title"> <a class="back" ng-class="icons"><img src="../media/icons/right_circular.png" ng-click="history.back()" /></a> <h1>{{title}}</h1> <a href="/home" class="home" ng-class="icons"><img src="../media/icons/53-house.png" /></a> </header> 这是指令js: myApp.directive('siteHeader', function () { return { restrict: 'E', templateUrl: 'partials/siteHeader.html', scope: { title: '@title', icons: '@icons' } }; }); 但什么也没发生。我查看了有关$ location的angular.js API,但未找到有关后退按钮或的任何信息history.back()。


6
AngularJS在扩展页面中将URL更改为“不安全:”
我正在尝试将Angular与一系列应用程序配合使用,并且每个链接都是一个链接,用于更详细地查看应用程序(apps/app.id): <a id="{{app.id}}" href="apps/{{app.id}}" >{{app.name}}</a> 每次我点击其中一个链接时,Chrome都会将该网址显示为 unsafe:chrome-extension://kpbipnfncdpgejhmdneaagc.../apps/app.id 哪里unsafe:来的?

5
具有简单数组初始化的ng-options
我对Angular和ng-options。 我有一个简单的数组,我想用它初始化一个选择。但是,我希望该选项的值=标签。 script.js $scope.options = ['var1', 'var2', 'var3']; html <select ng-model="myselect" ng-options="o for o in options"></select> 我得到的是: <option value="0">var1</option> <option value="1">var2</option> <option value="2">var3</option> 我想要的是: <option value="var1">var1</option> <option value="var2">var2</option> <option value="var3">var3</option> 所以我尝试了: <select ng-model="myselect2" ng-init=0 ng-options="options[k] as v for (k,v) in options"></select> <select ng-model="myselect3" ng-init=0 ng-options="b as b for b in …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.