Tag: angularjs

Django Rest框架file upload

我正在使用Django Rest Framework和AngularJs上传文件。 我的观点文件如下所示: class ProductList(APIView): authentication_classes = (authentication.TokenAuthentication,) def get(self,request): if request.user.is_authenticated(): userCompanyId = request.user.get_profile().companyId products = Product.objects.filter(company = userCompanyId) serializer = ProductSerializer(products,many=True) return Response(serializer.data) def post(self,request): serializer = ProductSerializer(data=request.DATA, files=request.FILES) if serializer.is_valid(): serializer.save() return Response(data=request.DATA) 作为post方法的最后一行应该返回所有的数据,我有几个问题: 如何检查request.FILES是否有任何内容? 如何序列化文件字段? 我应该如何使用parsing器?

在自定义事件上启用angular-ui工具提示

我试图使用angular-ui的工具提示function来显示我的用户一个特定的字段是无效的,但似乎工具提示只能显示在一些预定义的触发器。 有什么办法可以触发工具提示,除了这些触发器? 例如: <input type="text" tooltip="Invalid name!" tooltip-position="right" tooltip-trigger="myForm.username.$invalid">

正确使用控制器中的angular度平移

我在AngularJS应用程序中使用i18n的angular-translate 。 对于每个应用程序视图,都有一个专用控制器。 在下面的控制器中,我将该值设置为页面标题。 码 HTML <h1>{{ pageTitle }}</h1> JavaScript的 .controller('FirstPageCtrl', ['$scope', '$filter', function ($scope, $filter) { $scope.pageTitle = $filter('translate')('HELLO_WORLD'); }]) .controller('SecondPageCtrl', ['$scope', '$filter', function ($scope, $filter) { $scope.pageTitle = 'Second page title'; }]) 我正在使用angular-translate-loader-url扩展来加载翻译文件。 问题 在初始页面加载时,将显示翻译键而不是该键的翻译。 翻译是Hello, World! ,但我看到HELLO_WORLD 。 第二次去的页面,一切都很好,翻译版本显示。 我认为这个问题与这样一个事实有关,即当控制器将值$scope.pageTitle时,翻译文件可能还没有加载。 备注 当使用<h1>{{ pageTitle | translate }}</h1> <h1>{{ pageTitle | translate }}</h1>和$scope.pageTitle = […]

了解如何从angularpath中移除散列号

去除散列符号之前,我有 mainApp.config(function ($locationProvider, $routeProvider) { $routeProvider .when('/page', { controller: 'Page', templateUrl: 'templates/page.html' }) .when('/main', { controller: 'Main', templateUrl: 'templates/main.html' }) .otherwise({ redirectTo: '/main'}); //$locationProvider.html5Mode(true); }); 这些工作正常 http://localhost:8080/index.html#/main http://localhost:8080/index.html#/page 删除井号后,我添加到index.html <base href="/"> <script src="/vendor/bootstrap-dist/js/bootstrap.min.js"></script> <script src="/vendor/javascript/angular/angular.js"></script> <script src="/vendor/javascript/angular/angular-route.js"></script> <script src="/vendor/javascript/angular/ui-bootstrap-tpls-0.11.2.min.js"></script> <script src="/javascript/index.js"></script> <script src="/javascript/controllers/main.js"></script> <script src="/javascript/controllers/page.js"></script> 和index.js $locationProvider.html5Mode(true); 现在点击http://localhost:8080redirect到http://localhost:8080/main 但在浏览器中直接转到http://localhost:8080/main将返回404和其他页面 我该怎么办才能解决这个问题? 我的后端是java

随机orderBy在AngularJS 1.2中返回'infdig'错误

在这个问题中使用随机orderBysorting技术在AngularJS 1.1中工作正常。 var myApp = angular.module('myApp',[]); function MyCtrl($scope) { $scope.list = ['a', 'b', 'c', 'd', 'e', 'f', 'g']; $scope.random = function() { return 0.5 – Math.random(); } } 然而,在1.2中,它将infdig错误放入控制台,并花费更长的时间来返回sorting后的结果: http : //jsfiddle.net/mblase75/jVs27/ 控制台中的错误如下所示: Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting! Watchers fired in the last 5 iterations: [["fn: $watchCollectionWatch; newVal: 42; oldVal: 36"],["fn: $watchCollectionWatch; newVal: […]

调用Angular js中的$ sce.trustAsHtml()string中的函数

我正在开发一个使用Angularjs的应用程序,并在我的页面中使用$sce.trustAsHtml()添加HTML 。 我想在上面dynamic添加的内容中调用一个函数。 我的HTML和脚本如下。 HTML <div ng-app="ngBindHtmlExample"> <div ng-controller="ngBindHtmlCtrl"> <p ng-bind-html="myHTML"></p> </div> </div> 使用Javascript angular.module('ngBindHtmlExample', ['ngSanitize']) .controller('ngBindHtmlCtrl', ['$scope','$sce', function ngBindHtmlCtrl($scope, $sce) { $scope.myHTML =$sce.trustAsHtml( 'I am an <code>HTML</code>string with <a href="#" ng-mouseover="removeExp()">links!</a> and other <em>stuff</em>'); $scope.removeExp = function (){ console.log('dfdfgdfgdfg'); } }]); 的jsfiddle 点击这里查看

不安全的angular度链接

在AngularJS中,在下面的情况下,Firefox将unsafe:在以下面的方式生成的URL之前。 然后显示一个错误页面,说“地址不明白”。 这是我的本地PC上的文件请求。 链接: <li ng-repeat="fruit in fruits"> <a href="{{ fruit.link }}">{{ fruit.title }}</a> </li> 阵: $scope.fruits = [ { "title" : "Orange", "link" : "fruits_orange.html" } ];

在AngularJS中,包含在HTML模板中的任何内嵌JavaScript代码都不起作用

在AngularJS中,包含在HTML模板中的任何内嵌JavaScript代码都不起作用。 例如: main.html文件: <div ng-include="'/templates/script.html'"></div> 和script.html文件: <script type="text/javascript"> alert('yes'); </script> 当我打开主页面时,我希望有一个警告消息说“是”,但没有任何反应。 我认为AngularJS中的一些安全限制是防止内联脚本,但我找不到任何解决方法。 注:我不使用jQuery或任何其他框架,只有AngularJS 1.2.7。

Angular和UI-Router,如何设置一个dynamic的templateUrl

我怎么能使用从我的数据库中获取的名称作为templateUrl文件名? 我试过这个: $stateProvider.state('/', { url: '/', views: { page: { controller: 'HomeCtrl', templateProvider: function($templateFactory, $rootScope) { console.log("$rootScope.template") return $templateFactory.fromUrl('/templates/' + $rootScope.template); } } } }); 如果我的$ rootScope.template来自数据库查询,这似乎不工作。 不知道为什么,但它不起作用。 如果在我的控制器中,我做$ rootScope.template =“whatever.html”一切正常,但如果我从数据库中查询模板什么都没有发生。 console.log(“$ rootScope.template”)在templateProvider没有给我什么(查询本身工作得很好)。 查询是否花了太长时间,因此没有为路由器准备好,或者这里发生了什么? 我做错了,我该如何解决?

渲染$ sce.trustAsHtml中的指令

我在这里包括一个Plunker: http ://plnkr.co/edit/4vqV8toHo0vNjtfICtzI?p=preview 我想添加一个button到DOM,点击时应执行绑定到它的function。 在这种情况下,应该提醒“testing”。 这是代码。 调节器 app.controller('MainCtrl', function($scope, $sce) { $scope.trustedHtml = $sce.trustAsHtml('<button ng-click="testAlert()">Submit</button>'); $scope.testAlert = function () { alert('testing') }; }); HTML <body ng-controller="MainCtrl"> <div ng-bind-html="trustedHtml"></div> </body>