- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要帮助来理解我成功使用的 dart 代码。
(详细信息:我用它来注入(inject)包含绑定(bind)到可变 CSS 类的 SVG 图形)
@Decorator(
selector: '[bindHtml]'
)
class BindHtml {
static dom.NodeValidator validator;
dom.Element _element;
Compiler _compiler;
Injector _injector;
DirectiveMap _directiveMap;
BindHtml(this._element, this._injector, this._compiler, this._directiveMap) {
validator = new AllowAllValidator();
}
@NgOneWay('bindHtml')
set value(value) {
if(value == null) {
_element.nodes.clear();
return;
}
String givenHTML = _element.innerHtml;
value = value+= givenHTML;
_element.setInnerHtml((value == null ? '' : value.toString()), validator: validator);
if(value != null) {
_compiler(_element.childNodes, _directiveMap)(_injector, _element.childNodes);
}
}
}
最佳答案
首先,意识到 Compiler
的 API和 ViewFactory
在 AngularDart 0.13.0 中发生了变化。看起来您正在使用旧的 API,应该改用新的 API。
二、您的bindHtml
指令与核心 ng-include
非常相似指示。考虑改用它。
三、访问Compiler
和 ViewFactory
直接被认为是高级用法——你正在进入 Angular 的部分,其中 API 不是很稳定,也没有很好的文档记录。我不完全了解您的用例,但很可能有一种方法可以在不访问 Compiler
的情况下实现您的解决方案。 .
也就是说,我会深入研究你的问题:
Compiler
的实例, Element
等来自依赖注入(inject)系统。由于注入(inject)系统遵循 DOM 的结构,你会得到 Element
这个@Decorator
已定义,但全局单例 Compiler
.DirectiveInjector
反而。该注入(inject)器针对指令进行了优化,并为每个 DOM 节点创建。 DirectiveMap
并产生 ViewFactory
.它将遍历创建“ElementBinder
s”的 DOM 节点,其中包含有关在哪些节点上创建哪些指令的说明。此信息存储在同一 View
的多个实例中。 . Angular 有一个 ViewCache
用于避免调用 Compiler
一遍又一遍。DirectiveMap
被传入,因此我们可以在应用程序的不同点使用不同的指令。我认为这是 bug并且不应包含在 API 中。ViewFactory
然后接受 Scope
、注入(inject)器和可选的已经创建的 DOM 节点并构建 View
这是页面上实际的 DOM 节点。 (同样,此 API 在 0.13.0 中有更改)关于angularjs - 那些 _compiler 参数有什么用? _compiler(element.childNodes, _ directiveMap)(_ injector, _element.childNodes),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25099817/
$injector.instantiate有什么区别, $injector.get和 $injector.invoke在 AngularJS 中? 最佳答案 鉴于以下服务: app.service('
我尝试使用两种方式显式创建依赖关系。两者几乎相同,但我有点困惑使用反射注入(inject)器比普通注入(inject)器有什么优势,推荐使用哪种方式? 使用注入(inject)器 import { I
我对 Angular js 很陌生,以下是我的代码 (function(angular){ var testAngular = angular.mo
在英雄之旅教程的第 5 节中,main.dart 包含以下行: final InjectorFactory injector = self.injector$Injector; 这是错字吗?它在 VS
你好我是 Angular JS 的初学者,当我开始创建模块和 Controller 时,我无法打印我的消息,下面是我的代码 var myModule = angular.module("myFirst
我只是想在 Angular Dart 中尝试路由。我在关注这个https://webdev.dartlang.org/angular/guide/router/1指导,但我收到错误。 这一行给出错误
自从我设置一个与 Angular 一起运行的网络应用程序以来已经有一段时间了。我正在通过一个旧项目回顾我的步骤(尝试在我正在做的页面上实现一个 Controller ,确保 Controller 文件
我正在尝试学习 Angular,但无法正确加载它。我看了一下关于 SO 的类似问题,但找不到我要找的东西。 有人知道为什么会出现这个错误吗?在我看来,我是否正确地调用了我的新应用程序/模块?我的剧本错
我使用环回作为后端,使用 postgresql 作为数据库。所以我尝试使用 lb-service/js。 如果我尝试在 login.js 中包含 lbServices (angular.module(
我正在尝试将表情符号应用程序注入(inject)我的项目。 我添加了emoji.min.js并像这样引用它 现在我也将它注入(inject)到我的项目中,如下所示: angular.module('
当我尝试将 $cookie 包含到我的 Controller 中时出现此错误。 任何人都可以向我解释我做错了什么? 我在 index.html 中有 angular-cookie.js 我在 conf
我正在使用 anguarjs 开发一个应用程序,并出现如下错误: 无法实例化模块 myApp,原因是:错误:[$injector:modulerr] http://errors.angularjs.o
var demoapp = angular.module('demoapp', []); demoapp.controller('SimpleC
我正在尝试通过网络摄像头简单地读取二维码,但我在控制台打开 Angular 帮助页面时遇到此错误,但说使用 ngRoute Error: [$injector:modulerr] http://err
我正在尝试对此进行编码,只是使用路由从第一个页面跳转到另一个页面,但为什么它不起作用,我搜索并使用了很多技巧但仍然失败,请问有人吗? index.html Angular Js
我收到此错误: ncaught Error: [$injector:modulerr] Failed to instantiate module myApp due to: Error: [$inje
我正在尝试创建一个带有 Angular 路由的 SPA(单页应用程序),但是当我将 ndRoute 添加到我的模块时,它给了我这个错误 Uncaught Error: [$injector:modul
this is the error i m getting.这个问题被问了很多次。但是下面的代码在在线编译器中运行良好,但在我的本地系统中运行不佳,即使系统已连接到互联网,它也显示未定义 Angula
我正在尝试学习 Angular 并尝试在基于 Web 的教程之外编写我的第一个 Controller 。我一直在 JS 控制台的标题中收到错误消息,无法弄清楚发生了什么。该链接将我带到一个引用需要包含
我在尝试编写代码时遇到此错误。我已经完成了其他 Stackflow 问题,但找不到答案。是什么导致了这个错误? var app = angular.module("app", ['ui.router'
我是一名优秀的程序员,十分优秀!