Tag: angularjs

强制AngularJS在使用多个版本的jQuery时使用特定版本的jQuery

我inheritance了在noConflict模式下将几个版本的jQuery加载到页面中的项目。 应用程序是巨大的,测试缺失,似乎每个前devloper没有“cohones”大到足以删除以前的库。 因此结果是$引用了jquery版本1.4.2。 是否有任何方式/技巧可以告诉角度应该使用jQuery版本? 就像是 angular.jq = j182 我知道我可以这样做 j182 = jQuery.noConflict(); 但后来我有一种“隐藏的依赖”,我想避免。

将jQuery与AngularJS结合使用?

我正在为我的公司开发一个单页面框架。 我们构建了许多站点,并且我们快速构建它们,因此我们仍然非常依赖多页面服务器端模板。 这意味着前端开发人员几乎只需要处理CSS和jQuery来进行一些基本的DOM操作。 对于我们目前的工作来说,这是一个很棒的系统,但是进入基于JS的单页网站的未来,新项目资源(特别是前端开发人员)需要很多时间才能加快速度。 目前,我们所有的单页应用程序都依赖于jQuery和jQote2进行简单的页面转换(就像整个容器被简单地替换一样)。 同样,这很有效,因为我们的许多网站都很简单直接,但是当我们需要做任何自定义操作时它会变得一团糟,有时需要开发人员花几个小时来弄清楚如何进行简单的更改。 我一直在研究使用Angular来管理“页面”并处理基于服务器调用显示正确的模板。 一旦Angular向页面显示了正确的模板和页面,我希望前端开发人员能够使用jQuery来操作当前页面,类似于操作多页面网站的方式。 对我来说,Angular(与jQuery或jQM相比)的最大好处是in元素指令。 对于开发人员来说,启动网站是非常明确和容易的,快速查看DOM并了解它是如何被修改的。 本质上,我希望Angular充当控制器(并在必要时使用模型),然后向下浏览jQuery以进行交互。 是否可以以这种方式使用Angular和jQuery? 对于这样一个简单的任务,角度总是过度杀伤吗? (我知道我可以写一些自定义的东西,但Angular似乎只是踢了一下,并且有能力轻松扩展到我们更大的网站)

AngularJS窗口滚动事件不会触发

我知道有一些关于这个问题的类似问题,但我没有一个解决方案可以帮助我。 我正在使用AngularJS并想要检测滚动事件。 我尝试了很多关于如何获得事件的版本,但是最初它会在首次加载时触发,然后再也不会。 我上次尝试的代码如下: $($window).on(‘scroll’, alert(‘scrolled’)); 但我也试过这个: Jquery .on(’scroll’)在滚动时不触发事件 或者只是简单的JQuery .scroll()事件 window.onscroll = function(ev)… 还有更多,但没有任何作用。 谁能告诉我我做错了什么? 更新:我尝试了指令的东西,这可以很好地使用safari但不能使用chrome。 这是怎么回事? Update2:使用shift键时,它适用于chrome移动视图。 镀铬到苹果触控板有什么限制吗? WTF?

使用Angularjs动态生成之前/之后的CSS伪内容

我有一个div元素,需要动态地应用诸如之前和之后的伪元素。 我将从我的范围动态地将数据推送到css“content”元素。 我怎么能用角度呢? 示例CSS .bar:before { content: ‘dynamic before text’; height: 20px; } .bar:after { content: ‘dynamic after text’; height: 20px; }

AngularJS选项卡中的Highcharts动态(重新)大小调整

我的应用程序在各种选项卡中显示HighCharts图表(使用AngularJS)。 请注意, 每次选择选项卡时都会动态重新生成图表(意味着每次 Angular“删除或重新创建DOM树的一部分”)。 我的问题是, 只有在我第一次点击选项卡时 ,图表的大小才是正确的 。 当我切换标签时,创建的图表大大超过了其容器的大小。 令人惊讶的是,在调整窗口大小(即调用chart.reflow()时chart.reflow()后,图表会正确resize。 所以我尝试了以下,但没有帮助: $(element).highcharts({ chart: { type: ‘scatter’, zoomType: ‘xy’, events: { load: function () { this.reflow(); } } }, … 最后,以下确实有效,但感觉就像是黑客。 $(element).highcharts({ chart: { type: ‘scatter’, zoomType: ‘xy’, events: { load: function () { var chart = this; setTimeout(function () { chart.reflow(); }, 0); } } […]

Div可在angular.js中resize

我想在angular.js中集成jquery UI resizable,但无法这样做,我试图用angular.js中的resize句柄调整div的大小,但我没有这样做。 任何帮助都会很棒。 我已经创建了resize指令并包含了jquery Ui js可resize但它不起作用。 app.directive(‘resize’, function() { return { // A = attribute, E = Element, C = Class and M = HTML Comment restrict:’E’, //The link function is responsible for registering DOM listeners as well as updating the DOM. link: function(scope, element, attrs) { element.resizable(); } }; }); 提前致谢 !!

如果在Angular外部单击,则隐藏elemnt

我是新手编写自定义指令。 我试图用角度创建类似背景(模态ui.bootstrap)的东西。 这是我正在努力的小提琴: LINK 。 这就是我想要的:当用户点击按钮(左上角)菜单打开时, 我想在菜单外单击后关闭它。 指令 : app.directive(“Trigger”, function () { return { restrict: ‘C’, link: function (scope, element, attrs, event) { element.click(function(){ if (e.target.id != “parentUl” && !$(e.target).closest(“#rightMenu”).length) { $(“#rightMenu”).removeClass(“noneStyle”); } }); } }; }); 我不确切知道是否restrict: ‘C’适合这种情况。 谢谢你的帮助。

如果从不同的表单调用按钮,为什么Ng Repeat不起作用?

我有一个包含ng repeat指令和两个按钮的html表。第一个将打开一个包含新表单的模式,让我创建我的用户,然后当我点击保存时,它会将它添加到列表中。第二个是相同的原始forms,并添加用户。 我不明白为什么当我点击不同forms的第一个按钮时,我无法更新ng重复,但是对于第二个按钮,它是可能的。 这是代码: homepage.jsp Create ID. Name Address Email user_controller.js ‘use strict’; App.controller(‘UserController’, function ($scope, UserService, $window, $log, $uibModalStack, $uibModal, $rootScope) { var self = this; self.users = []; self.fetchAllUsers = function () { console.log(‘———-Start Printing users———-‘); for (var i = 0; i < self.users.length; i++) { console.log('FirstName ' + self.users[i].firstName); } }; /** […]

在Angularjs中,如何使用ng-repeat,ng-model和ng-click动态更改内容?

作为一个例子,我开始使用这样的html: This is choice This is choice This is choice 这个想法是,当我选择一个项目,即.choice我想将它添加到输入和.theChoice 。 这样它会显示用户选择的内容,但可以通过键入框来编辑它。 我知道如何用jquery做到这一点。 但是,这将是一个很大的开销,我想学习角度。 我也知道Angular可以真正清理它。 我使用ng-model镜像用户在输入框中输入的内容: This is choice {{choice1}} … 我使用ng-repeat来循环出三个.item div: This is choice {{choice1}} … 和js: myApp.controller(‘leftSide’,function($scope,$index){ //three left boxes $scope.number = 3; $scope.getNumber = function(num) { return new Array(num); } … }); 我的问题是(显然)选择.choice’ is targeting all my ng-model s and […]

在AngularJS中获取被点击元素的ID

我的Angular控制器看起来像这样: angular.module(‘spark’) .controller(‘MainCtrl’, [‘$scope’, ‘$location’, function ($scope,$location) { $scope.handleThisElement = function (event) { alert(event.target.id); } $scope.changeView = function(view){ $location.path(view); } }]); 我的HTML看起来像这样: … 应用程序路由到不同视图之前会弹出警报,这就是我想要的。 但是当它出现时,警告框是空的。 如何让它读取点击链接的ID(即’testID’)?