我在将路由中的解析参数注入控制器时遇到问题.我正在为对象设置解析值{name: 'Banner', slug: 'banner'},但是我收到错误.
App.js
var app = angular.module('CMS', ['fields', 'ngRoute']);
app.controller('ModuleController', ['$http', 'properties',
function($http, properties) {
var module = this;
module.properties = properties;
if (module.properties.slug.length) {
$http.get(module.properties.slug + '.php').success(function(data) {
module.list = data;
});
}
}
]);
app.controller('HomeController', function() {});
app.config(function($routeProvider) {
$routeProvider
// route for the banner page
.when('/banner1', {
templateUrl: 'banner1.php',
controller: 'ModuleController',
resolve: {
properties: function() {
return { name: 'Banner', slug: 'banner' };
}
}
})
.when('/home', {
templateUrl: 'home.php',
controller: 'HomeController'
}) …Run Code Online (Sandbox Code Playgroud) curl实用程序中有一个--resolve选项允许您添加 DNS 条目并在调用主机时强制使用某个 IP 地址。
由于版本 7.21.3 cURL 允许指定 IP 地址,从而为请求伪造主机名。
$ curl --resolve www.example.com:80:127.0.0.1 http://www.example.com/
--resolve 开关允许您告诉 curl 在解析给定主机名时请求哪个地址。在上面的代码片段中,cURL 使用 127.0.0.1 (localhost) 而不是通过 DNS 解析 www.example.com。
此选项在没有 http 代理的情况下使用时正常工作,DNS 条目可在缓存中找到。
问题是我想与 curl--proxy参数同时使用此选项。当设置最后一个参数时,调用同一主机时找不到 DNS 条目。
$ curl --proxy 1.2.3.4:80 --resolve www.example.com:80:127.0.0.1 http://www.example.com/
Run Code Online (Sandbox Code Playgroud)
知道如何解决这个问题吗?
我有一个想法,代理正在使用自己的 DNS 缓存,我们无法更改它,但也许我错了?
我正在尝试做一个返回用户的简单Resolve.但是,在我的应用程序中,我需要使用自己的类包装http组件,该类将Subject作为observable返回. 我的解析器在第一个用户链接上按预期工作,但在Resolve之后单击UserProfileComponent中的任何用户链接时,Resolve永远不会再次完成. 我可以看到浏览器URL使用新ID更改,并且UserResolve中的console.log打印,但没有任何反应.
我的路由器:
import { Routes, RouterModule } from '@angular/router';
import { DashboardComponent } from './dashboard/dashboard.component';
import { UserProfileComponent } from './user-profile/user-profile.component';
import { LoginComponent } from './login/login.component';
import { AuthGuard } from './_resolve/guard.auth';
import { UserResolve } from './_resolve/user.resolve';
const appRoutes: Routes = [
{ path: '', component: DashboardComponent, canActivate: [AuthGuard] },
{ path: 'user/:id', component: UserProfileComponent, canActivate: [AuthGuard], resolve: { user: UserResolve } },
{ path: 'login', component: LoginComponent },
// otherwise redirect to home
{ path: …Run Code Online (Sandbox Code Playgroud) 关于解决webpack 2中的别名我有一点问题.无论我做什么我都无法解决这个问题.这是相关代码:
/* webpack.mix.js */
mix.webpackConfig({
module: {
rules: [
{
test: /\.js$/,
loader: 'eslint-loader'
}
]
},
resolve: {
root: path.resolve(__dirname),
// path is reqired at the beggining of file
alias: {
config: 'src/assets/js/config', // this is a config folder
js: 'src/assets/js'
}
}
});
/* router.js */
import { DashboardRoute } from 'config/route-components'
// this import is unresolved
Run Code Online (Sandbox Code Playgroud) 我似乎需要这么多.
假设我有一个带有构造函数的类,它带有几个参数.其中一些可以通过注册组件来解决.但其余的是在运行时创建的实例(例如,从数据库中获取实体).
Autofac能以一种很好的方式处理这些情况吗?或者我的设计是次优的?
为了澄清,我有类这样的构造函数的类:
public MyClass(IService1 service1, IService2 service2, Data1 data1, Data2 data2)
{
//...
}
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情:
container.Resolve<MyClass>(data1, data2);
我正在使用SmtpClient向多个收件人发送电子邮件.员工离开公司时,他们的电子邮件地址无效.由于他们的电子邮件地址留在我们的数据库中,直到手动删除,试图发送电子邮件给他们使我们的应用过程中抛出一个异常SmtpClient.Send(MailMessage).但是,尽管抛出异常,它仍会发送电子邮件.这是一个问题,因为我们希望通过阻止用户尝试保存记录并显示友好消息来建议从数据库中删除任何无效的关联来处理此错误.
如果有办法迭代所有配方以确保它们全部有效,我们可以保留所有电子邮件,直到用户满足一系列条件.
最初在我的应用程序中,我创建了具有非常基本的$ http调用的控制器,通过从url($ routeParams)获取对象的ID来获取资源.Ng-repeat正确显示结果.
但是,我注意到在后来的视图中刷新(不同的控制器)清除了数据并打破了页面.因此,我在要在多个控制器中使用的服务上创建了一个函数,以检查数据是否可用并作出如下反应:
1)如果定义了资源,则返回它(没有API调用)2)如果未定义资源,则从URL获取id并从API获取它3)如果资源未定义且您无法获取ID,只返回false.
但是,这破坏了代码:在服务返回数据之前呈现的模板,并且ng-repeat没有更新.代码如下所示:
angular.module('myApp', ['ngCookies'])
.config(...)
.service('myService', ['$cookies', '$http', function($cookies, $http) {
myData = {};
return {
getData:function(dataID) {
if(myData.name) {return myData);
else if (dataID && dataID !== '') {
$http.get('/api/data/' + dataID)
.success(function(data) {
myData = data.object;
$cookies.dataID = data.object.id;
return myData;
}
}
else { return false; }
}
}
}]);
function myCtrl($scope, $http, $routeParams, myService) {
$scope.data = myService.getData($routeParams.dataID);
...
}
Run Code Online (Sandbox Code Playgroud)
这是模板.它是在玉中,这意味着而不是尖括号,你只需在括号中列出带有参数的元素,然后在括号后面列出内容.
h2 My heading
ul
li(ng-repeat='option in data')
a(href="#", ng-click='someFuncInCtrl(option.name)') {{ option.name }} …Run Code Online (Sandbox Code Playgroud) 我有一堆亚马逊 ec2 实例。今天,我无缘无故地确定,其中三个无法解析特定的 url。当我尝试时curl <url>,这三个实例说“curl:(6) 无法解析主机”,而所有其他实例都能够解析 url 并返回正确的数据。也只是那个特定的网址 - 所有其他网址都可以正常工作。
这可能是什么原因造成的?我没有对任何实例进行任何更改,所以这不是我所做的。我如何找出它发生的原因?
我遇到了 Angular 的情况,其中路由数据解析器似乎准备正确返回数据,但解析从未发生。这特别奇怪,因为我有另一个组件的平行排列,并且在那里工作正常。
该应用程序通过 HTTP 检索有关一系列事件的数据。在 中EventListComponent,解析器返回所有事件以响应/events,并且组件正确显示它们。在一个EventDetails组件中,在我目前的安排中,我仍然通过 HTTP 检索所有事件,然后在解析器中响应/events/[the event ID],选择应该显示其详细信息的事件。(这是来自 Pluralsight Angular Fundamentals 课程,以防它听起来很熟悉。但我倾向于观看视频,然后按照我自己的顺序完成它们,以尝试巩固我头脑中的技能。)
远程事件.service.ts
import { Injectable, EventEmitter } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { IEvent } from './event.model';
@Injectable()
export class RemoteEventService {
constructor(
private http: HttpClient
) {}
getEvents(): Observable<IEvent[]> {
return this.http.get<IEvent[]>('/api/ngfdata/events.json');
}
getEventById(id: number): Observable<IEvent> {
console.log(`In getEventById: id = ${id}`);
const emitter = new EventEmitter<IEvent>(); …Run Code Online (Sandbox Code Playgroud) 我有以下 NGINX 配置
\nevents {}\n\nhttp {\n access_log /dev/stdout;\n error_log /dev/stderr;\n\n resolver 1.1.1.1 1.0.0.1 valid=5s ipv6=off; # CloudFlare DNS resolver\n\n upstream myupstream {\n server xyz.appspot.com:443;\n }\n\n server {\n server_name www. mywebsite.com;\n listen 80;\n\n set $myupstream "xyz.appspot.com:443";\n\n location ^~ /mypath/ {\n proxy_pass https://myupstream/theirpath/; # <-------- Case A - proxy_pass via UPSTREAM\n proxy_pass https://$myupstream/theirpath/; # <-------- Case B - proxy_pass via VARIABLE\n proxy_set_header Host "$myupstream";\n }\n }\n}\n\n# TEST_URL: http://www.mywebsite.com/mypath/framework.js\n# DESTINATION_URL: https://xyz.appspot.com:443/theirpath/framework.js\nRun Code Online (Sandbox Code Playgroud)\n问题出现在proxy_pass线路中
resolve ×10
angular ×2
angularjs ×2
curl ×2
.net ×1
alias ×1
amazon-ec2 ×1
apply ×1
autofac ×1
dependencies ×1
host ×1
http ×1
import ×1
mailmessage ×1
ng-repeat ×1
nginx ×1
observable ×1
partial ×1
proxy ×1
proxypass ×1
resolver ×1
routes ×1
rxjs ×1
service ×1
smtpclient ×1
upstream ×1
webpack ×1