小编Vad*_*imB的帖子

将范围数据传递到Angular2中的ng-content

我正在寻找将当前组件范围数据传递给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)

这可能吗?

typescript angular

15
推荐指数
3
解决办法
1万
查看次数

在业力测试中显示正确的堆栈跟踪

先决条件

  • 打字稿

  • 业力/茉莉花

  • 的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)

javascript typescript karma-runner webpack

7
推荐指数
0
解决办法
1314
查看次数

如何从呈现的文本中删除HTML标记

我需要<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方法吗?

html javascript strip vue.js

5
推荐指数
3
解决办法
8941
查看次数

通过代理重定向Angular2 http请求

我正在使用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)

来自我的代理服务器的数据正在请求成功.我做错了什么?

webpack angular

2
推荐指数
1
解决办法
5433
查看次数

Angular2 http 服务替换为自定义服务

我认为这对于许多其他开发人员来说可能是常见问题,但我还没有找到一些有效的解决方案。

我正在从事 Angular2 项目。当然,我有很多地方需要进行http调用来管理我的数据。所以我正在使用Http服务,一切都按预期进行。

在某些架构阶段(当团队实现了大部分页面时),新的要求出现了 - 现在我们需要更深入地连接服务器和客户端,因此应将附加标头添加到从客户端发起的所有请求中(可以是经过身份验证的不记名令牌,方法覆盖指令以通过防火墙,还有许多其他)。

根本不是问题。10分钟完成:

  • 创建新服务MyHttp
  • 通过添加所需的标头重新实现所有get, post, put,delete方法
  • 批量替换所有Http引用为新的MyHttp
  • 完工

但当你有很多开发人员参与时,这种方法就不好了:

  • 应该创建一些 wiki 资源并定义访问服务器的新规则。所有团队的所有开发人员都应立即开始遵守此规则
  • 存在旧Http服务MyHttp将被重新使用的风险,因为这两个服务都是可访问的,因此将引入不正确的行为
  • 当选择了不正确的客户端 http 服务时,服务器团队会更痛苦地发现不正确的行为

因此,更适合多团队开发的方法是使用模块类注释用新的使用配置@NgModule替换旧Http服务:MyHttpprovide

@NgModule({
  declarations: [ ... ],
  imports: [ ... ],
  providers: [..., {provide: Http, useClass: MyHttp}],
  bootstrap: [AppComponent]
})
Run Code Online (Sandbox Code Playgroud)

从我的角度来看,这种方法有很多优点:

  • 无需修改文件并替换HttpMyHttp
  • Http使用服务无需更改开发者规则
  • 确保服务器端始终收到正确的标头
  • 不用担心偶然使用MyHttp代替Http- 它们的行为相同

唯一的问题是,我们正在创建循环依赖,因为MyHttp我们需要在内部使用旧的 …

angular

2
推荐指数
1
解决办法
1435
查看次数

标签 统计

angular ×3

javascript ×2

typescript ×2

webpack ×2

html ×1

karma-runner ×1

strip ×1

vue.js ×1