我正在寻找将当前组件范围数据传递给ng-content指令的解决方案.
我的app-table组件模板包含我想传递给子内容的数据,使用这样的解决方案:
<!-- some html before -->
<table>
<!-- complex header markup with sorting/filtering support -->
<tr *ngFor="let item of data">
<ng-content [value]="item"></ng-content> //how to pass data?
</tr>
</table>
//some html after
Run Code Online (Sandbox Code Playgroud)
以及我想要使用此数据的页面模板:
<app-table>
<td>{{value.Name}}</td>
...
</app-table>
Run Code Online (Sandbox Code Playgroud)
这可能吗?
先决条件
打字稿
业力/茉莉花
的WebPack
应用
我有简单的TypeScript应用程序.还设置*.ts测试和karma框架来运行此测试.使用Webpack进行透明化.
这是业力配置的一部分:
...
basePath: '',
frameworks: ['jasmine','sinon'],
files: [
'src/test/spec/**/*.ts'
],
preprocessors: {
'src/**/*.ts': ['webpack', 'sourcemap']
},
webpack: {
debug: true,
devtool: 'inline-source-map',
module: webpackConfig.module,
resolve: webpackConfig.resolve
},
webpackMiddleware: {
quiet: true,
stats: {
colors: true
}
}
...
Run Code Online (Sandbox Code Playgroud)
和webpack配置
...
resolve: {
extensions: ['.ts', '.js', '.tsx', '.jsx', '']
},
module: {
loaders: [{
test: /\.tsx?$/,
exclude: /node_modules/,
loader: 'ts-loader'
}
]
}
...
Run Code Online (Sandbox Code Playgroud)
一切正常,测试是使用TypeScript编写的,PhantomJS用作无头浏览器.有用.
问题
但是我在调查失败的测试时遇到了问题,因为写入控制台的堆栈跟踪不正确 - 它总是指向测试源文件,甚至在其他地方发生问题.
举个例子 - 我在业力发射器之后分享我的控制台输出
TypeError: 'undefined' is …Run Code Online (Sandbox Code Playgroud) 我需要<p>从一些呈现的注释文本中删除开始和结束标记.我将内容作为prop传递给组件,我认为在这样做时,它不允许v-html指令正常工作.
我需要在没有html标签的情况下呈现内容
这是我试图用v-html正常渲染的地方
<textarea class="form-control comment-inline-edit" v-html="content" name="comment-inline-edit" cols="45" rows="3"></textarea>
Run Code Online (Sandbox Code Playgroud)
这里是我从父组件传递渲染内容的地方
<CommentEdit v-show="isEditting" :content="comment.content.rendered" v-on:cancel="cancelEdit" />
Run Code Online (Sandbox Code Playgroud)
除了使用v-html之外,还有VueJS方法吗?
我正在使用angular-cli bootstrapper 创建Angular2应用程序并webpack-dev-server用于调试目的.
对于某些类型的http请求,我想使用webpack-dev-server 代理支持将它们重定向到另一个后端.
出于这个原因,我创建了proxy.conf.json文件:
{
"/api/**": {
"target": "http://localhost:4201",
"secure": false
}
}
Run Code Online (Sandbox Code Playgroud)
并映射angular cli以使用此配置文件:
ng serve --proxy-config proxy.conf.json
Run Code Online (Sandbox Code Playgroud)
启动控制台消息后通知我代理创建成功:
NG Live Development Server在http:// localhost:4200上运行
创建代理:/ api/** - > http:// localhost:4201
但是所有请求http://localhost:4200/api/users始终返回404状态代码.我尝试了许多映射网址的例子,但没有任何帮助:
"/api/users" -> "http://localhost:4201/users"
"/api/" -> "http://localhost:4201/"
Run Code Online (Sandbox Code Playgroud)
来自我的代理服务器的数据正在请求成功.我做错了什么?
我认为这对于许多其他开发人员来说可能是常见问题,但我还没有找到一些有效的解决方案。
我正在从事 Angular2 项目。当然,我有很多地方需要进行http调用来管理我的数据。所以我正在使用Http服务,一切都按预期进行。
在某些架构阶段(当团队实现了大部分页面时),新的要求出现了 - 现在我们需要更深入地连接服务器和客户端,因此应将附加标头添加到从客户端发起的所有请求中(可以是经过身份验证的不记名令牌,方法覆盖指令以通过防火墙,还有许多其他)。
根本不是问题。10分钟完成:
MyHttpget, post, put,delete方法Http引用为新的MyHttp但当你有很多开发人员参与时,这种方法就不好了:
Http服务MyHttp将被重新使用的风险,因为这两个服务都是可访问的,因此将引入不正确的行为因此,更适合多团队开发的方法是使用模块类注释用新的使用配置@NgModule替换旧Http服务:MyHttpprovide
@NgModule({
declarations: [ ... ],
imports: [ ... ],
providers: [..., {provide: Http, useClass: MyHttp}],
bootstrap: [AppComponent]
})
Run Code Online (Sandbox Code Playgroud)
从我的角度来看,这种方法有很多优点:
Http为MyHttpHttp使用服务无需更改开发者规则MyHttp代替Http- 它们的行为相同唯一的问题是,我们正在创建循环依赖,因为MyHttp我们需要在内部使用旧的 …