在Angular中,是否可以通过AJAX请求为UI-Router加载一个模板?
我知道这可能所以,这是一个典型的UI-Router配置块: app.config(function($stateProvider, $urlRouterProvider, $injector) { $stateProvider .state('home', { url: '/home', templateUrl: 'view_home.html', // Actually SHOULD BE result of a XHR request .... controller: 'HomeCtrl' }); }); 但是,如果我想在请求时加载这样的templateUrl($stageChangeStart),它将是基于AJAX请求的. 应该如何实施?如何处理大型角度应用? 解决方案 我们应该(在这种情况下)使用 TemplateProvider . doc的
8 2024-02-25
编程技术问答社区
AngularJS和Rails的路由错误
我正在关注以下教程: https://thinkster.io/angular-rails/angular-rails/ 当我到达该部分时:将前端与资产管道集成在一起,事情会中断;该站点被困在无限的循环中,并一遍又一遍地产生相同的错误.我已经检查并重新检查了每个步骤.有人可以帮忙: 错误: Started GET "/home/_home.html" for ::1 at 2015-04-17 11:55:43 -0400 ActionController::RoutingError (No route matches [GET] "/home/_home.html"): actionpack (4.2.0) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call' web-console (2.1.2) lib/web_console/middleware.rb:37:in `call'
12 2024-02-25
编程技术问答社区
从模板(视图)中动态加载AngularJS模块
背景:让我们假设为了论证,您有100,000次观点(部分).我们还假设您有随附的视图控制器,并且可能会查看的服务和过滤器.尝试设想托管100,000个不同小应用程序的汇总应用程序. 问题:当您拥有需要伴随控制器的"部分"时,典型的解决方案是做类似的事情: $routeProvider.when('/app1', { templateUrl: 'partials/view1.html', controller: 'controller1' }); 通常从index.html加载控制器: 这种方法的问题是它没有扩展.有用于动态加载控制器的解决方案,但它们仍然需要在各种配置中添加触摸点. 理想的解决方案:理想情况下 - 对于数量在000中的非常小的应用程序,控制器可以动态加载,从部分本身中加载.这将减轻管理多个文件和几
10 2024-02-25
编程技术问答社区
在angular 4中为不同页面设置不同布局的最佳方法
我是Angular 4的新手.我要实现的目标是为我的应用程序中的不同页面设置不同的布局标题和页脚.我有三种不同的情况: 登录,注册页面(无标题,没有页脚) 路由:['登录','register'] 营销站点页面(这是根路径,它具有标头和页脚,主要是在登录之前出现这些部分) 路由:['','关于','联系'] 应用程序以页面登录(我在本节中的所有应用程序页面上都有不同的标题和页脚,但是此标题和页脚与营销网站标题和页脚不同) 路由:['dashboard','profile'] 我通过在我的路由器组件HTML中添加标头和页脚来暂时运行该应用程序. 请告知我更好的方法. 这是我的代码: app \ app.routing.ts const appRoutes: Routes = [ { path: '', component: HomeComponent}, { path: 'about',
8 2024-02-25
编程技术问答社区
Angular model.$viewValue不显示在输入栏中
我以前写了此[Question] [1],INOW我有一个模型的问题.$ viewValue它在输入框中看到的值并不相同. 这是我的指示(无关紧要的,相似的作用并不重要): : var app = angular.module('plunker', []); app.controller('MainCtrl', function($scope) { $scope.data = { amount: ''}; }); app.directive('amountInputCurrency', function () { return { restrict: 'EA', require: 'ngModel', templateUrl: 'inputCurrency.tmpl.html', sc
6 2024-02-25
编程技术问答社区
当angular *ngIf语句在模板中评估时,事件将被触发。
如果我有以下内容: {{user.name}} 当上面的div最终出现在屏幕上时,我可以执行代码吗? 解决方案 *ngIf将删除该DOM元素和所有附加组件/指令.因此,您只需编写一个简单的指令,该指令在首次创建事件时会执行该事件.当*ngIf从 false 到 true 过渡时,将创建指令(一次,一次,等等...) @Directive({selector: '[after-if]'}) export class AfterIfDirective implements AfterContentInit { @Output('after-if') public after: EventEmitter = new EventEmitter(); public ngAfterCon
4 2024-02-25
编程技术问答社区
Angular2 + ng2-material导入
我使用的是NG2材料的Angular 2来显示无线电和复选框组件,在每个组件中,我看到我必须导入所有NG2材料内容,最后仅使用一个组件 =>结果,它向我的应用充电并使其较慢. 我想知道我是否只会导入所需的组件,尽管在NG2材料文档中,他们正在导入所有组件? ? import {Component} from 'angular2/core'; import {bootstrap} from 'angular2/platform/browser'; import {MATERIAL_DIRECTIVES, MATERIAL_PROVIDERS} from "ng2-material/all";
AngularJS的templateUrl与template-isolate scope的比较
我有以下指令: offerListSorters.directive('offersSorter', ['myState', '$templateCache', function (myState, $templateCache){ return { scope: {}, controller: function($scope, $element, $attrs, $transclude) { [...] }, restrict: 'E', //templateUrl: 'partials/offersSorterDirective.html', template: $templateCache.get('partials/offersSorterDirective.html'), replace: true, transclude: true }; }]); 我使用业力 +茉莉花来测试此代码,
10 2024-02-25
编程技术问答社区
带有动态生成的输入字段的Angular Directive无法显示验证结果
经过3天的搜查Stackoverflow和其他网站,我发现自己回到了Square One. 我的任务:我需要验证动态生成的表单字段. html: 控制器: var myApp = angular.module('myApp',[]); function MyCtrl($scope) { $scope.formFields = [ { "fieldName": "Your Name", "uniqueId": "your_name_0", "fieldType": "text", "isMandatory": true }, {
为什么在我的AngularJS模板中加入ng-repeat会破坏它?
我有一个AngularJS指令,其模板文件看起来像这样: 路径/到/myDirectivea.template.html : Statement {{MyDirectiveACtrl.a.b}} 它有效.输出看起来像这样: ,但是我通过添加ng-repeat来更改模板文件: Statement {{MyDirectiveACtrl.a.b}} {{currRow}} ,这会导致它如下图所示.短语Hello World!不再出现!为什么?我
4 2024-02-25
编程技术问答社区
AngularJS-当把对象传入属性时动态加载模板URL
在我的控制器html中,我将一个对象传递到这样的指令中: vm.currentCountData是从工厂返回的对象 我的指示代码如下: function countSummary() { var directive = { scope: { countData: '=' }, link: link, templateUrl: function(element, attrs) { if (attrs.countdata.type === 'Deposit') { return 'app/count/countsummary/countDeposit.html';
Rails上的Angular模板
我正在使用angular-rails-templates宝石.我的/app/assets/javascripts中有一个文件夹,称为templates,我将其包含在application.js中: 中 //= require_tree ./templates 在模板的内部有一个test.html hello world 的文件. 出于某种原因,test.html没有找到,当我在控制台中注销$templateCache.info()(使用app.run)时,我有: object {id:"模板",大小:0} 解决方案 这是链轮不兼容(请参阅在这里) 简短版本是: 将gem 'sprockets', '2.12.3'添加到您的gemfile 运行bundle update sprockets
36 2024-02-25
编程技术问答社区
Ionic-AngularJS:通过控制器外的模板调用方法
所以,这是一个示例代码: Click Me! 我可以从该模板中,在不更改控制器的情况下,在 mycontrollertwo 中调用函数 foobar(): .controller('MyControllerOne', function($scope) { //some code }) .controller('MyControllerTwo', function($scope) { // method I wanna call function foobar(){ } }) 解决方案 虽然不是最漂亮的解决方案,但从技术上讲是可能的... ish. 如果将HTML更新为:
8 2024-02-24
编程技术问答社区
Angular和IE8-HTML5元素在ng-view内没有样式
所以我试图使Angular在IE8上工作.我已经遵循了 http://docs.angularjs.org/guide/ie 而且它似乎在起作用 - 我看到在视图之间切换时在IE8上呈现的内容. 问题是我实际上没有在检查员中看到任何内容: ..这只是一个空的ng视图标签. i can 请参阅页面上的所有内容,但没有将样式应用于ng-view内部的任何内容. 我不确定这是角度还是HTML5问题.我添加了 编辑 我已经确定问题是HTML5元素. 和在ng-view内没有样式,而简单的div则接收所有指定的样式.在ng-view之外,和的样式都很好. 解决方案 我能够根据此处给出的答案进行条件解决此问题,包括IE8中的jQuery/A/18317832/2026098 其他解决方案 问题是,即使您添加一个命名空间和/或根据IE指南将元素重新处理,Angular Core的某些部分也不会通过正常
10 2024-02-24
编程技术问答社区
从本地预加载(JST)的模板缓存中加载ng | include partials
我将模板预先加载在JavaScript字符串阵列中,例如var t = JST['firstTemplate'],其中t就像, This scope has a value of {{value}} 如何在ng-include指令中使用此预载模板? 请注意,在这种情况下,我的模板可能更复杂,具有嵌套视图和模板以及它们自己的嵌套范围和控制器.因此,我不确定任何NG绑定指令是否会有所帮助? 更新: 查看ng-include的来源,看来做到这一点的好方法是将模板加载逻辑的加载逻辑分解为可自定义的提供商. 当前的默认加载机制简单地用$templateCache作为缓存提供商进行$http.get.似乎我可以将模板内容注入JST['firstTemplate']中的模板缓存中,但是我必须在启动时,对于每个模板. . $templateCache.put('firstTemplate', JST['firstTemplate']); 然
4 2024-02-24
编程技术问答社区
Angular JS ng-include绑定问题
我使用了我在HTML页面中两次使用的模板文件创建了一个Pager Widget.我有一个选择"转到页面"选项,也有上一页和下一页的链接. 问题是,当我使用选择框更新当前页面时,然后使用上一页和下一页链接时,当前页面将更新,但选择框未更新. 请告诉我我做错了什么.我的构建Pager小部件的方法中是否有任何逻辑上的错误? 控制器代码: var gallery = angular.module('gallery', []); gallery.controller('ItemListCtrl', ['$scope', function($scope){ /* Pagination Code */ $scope.currentPage = 1; $scope.itemsPerPage = 24; $scope.total = 100; $scope.range = function(min, max, step){
22 2024-02-24
编程技术问答社区
在Angular Templating之后捕获页面源代码(HTML快照)。
快速 angular.js 问题... 如果我有一个具有这样的内容的网页: {{message}} ,我设置了"消息"的模型,以便 $scope.message = "Hello world!" 然后在屏幕上,DIV的内容显示为 Hello world! 但是,如果我在chrome或firefox中查看源,源仍然看起来像 {{message}} 有什么方法可以在角度模板后捕获页面的来源,因此当我查看源时,我会看到 Hello world! 例如,如果我正在研究一个我正在使用Angular来帮助我进行模板的项目,但是客户希望在HTML中使用无角的最终页面,我该如何捕获模板后的HTML页面被应用于此客户? 解决方案 一个> 这是一个grunt的任务,需要一个页面的HTML快照:它将以"假"或"无头"浏览器(称为phantomjs)运行页面,执行JavaScr
4 2024-02-23
编程技术问答社区
在Angular中把父级范围的值传递给ng-repeat循环
这应该是一个非常简单的问题,但是我发现的所有解决方法都很复杂.我正在通过一系列对象循环,在模板中使用ng-repeat如下: {{ message.subject }} ... {{ campaign.name }} ... 由于NG重复创建了一个新的范围,因此控制器的"广告系列"对象似乎无法访问.有什么方法(除了将广告系列对象添加到我的数组中的每个项目中)是否有任何方法? 预先感谢. 解决方案 您可以使用$ parent 访问父范围 {{ message.subject }} ... {{ $parent.camp
12 2024-02-23
编程技术问答社区