html - 使用“setAttribute('fxFlex', '25%')”更改组件中的 fxFlex 值在 Angular 6 中不起作用
问题描述
我正在使用 flexLayout 模块(在 https://github.com/angular/flex-layout 中查看更多信息,也在https://alligator.io/angular/flex-layout/ 中)在我的 Angular 应用程序中构建响应式 div,我想从我的 Angular 组件中设置 fxFlex 属性的值。component.ts 中的代码:
const nav = document.getElementById('nav2'); nav.setAttribute('fxFlex', '5%');
html页面中的代码:
<div fxLayout>
<div id="nav2" fxFlex="25%" class="col-md-2.5 bg-white p-1">hello</div>
<div id="nav1">word</div></div>
代码通常应该将大小布局更改为 5%,但事实并非如此,当我检查页面时,我发现属性已更改但布局仍然相同,奇怪的是,当我在 html 代码中手动更改为5%,我得到了我想要的结果。
我正在使用 Angular 6 和 Typescript 3.1.1
请,如果有任何建议,请不要犹豫。
谢谢你 !
解决方案
代码通常应该将大小布局更改为 5%
不,不应该。
Angular 指令在Typescript或预构建上下文中使用。
当你写
document.getElementById('nav2'); nav.setAttribute('fxFlex', '5%')
您指示已从 Typescript 编译的Javascript (因此在构建后的上下文中)获取元素并将Angular 指令添加到您的属性。
问题是,代码已经编译好了,所以你不能将 typescript 添加到 Javascript,否则你将不得不再次编译它(我什至不确定你是否可以这样做)。
我建议您在使用之前了解角度特征及其工作原理。此外,如果您希望有人提供适合您案例的解决方案,请考虑发布一个最小、完整和可验证的示例。
推荐阅读
- apache-spark - Spark 上的 Levenshtein 距离算法
- pine-script - 如果 SMA9 > SMA50 一定百分比,如何进入交易
- ios - SwiftUI:如何让内容与屏幕顶部对齐,但保留后退按钮
- javascript - 如何在特定条件下显示按钮?
- android - java.lang.RuntimeException:未知动画名称:x
- pytorch - Pytorch - 质量分类
- php - 头文件中的 CSS/less 仅适用于索引页面
- linux - 我有哪些选项可以从内核驱动程序以微秒分辨率运行重复事件?
- c - 从文件管理器打开编译的 C 程序
- react-native - 有没有办法从屏幕内覆盖反应导航标题?