AngularJS-$编译一个元素并将作用域传递给它
AngularJS - $compile-ing an element and passing the scope to it
我有一个简单的指令:
<div my-directive>
<span ng-click="reveal()">Click Me</span>
<!-- And other stuff -->
</div>
当我按下Click Me
时,会打开一个模态,其中包含一个用于编辑某些内容的表单。所有这些内容都属于CCD_ 2数据的一部分。现在,假设这个对象只有一个名为name
的条目。
这就是我为我的指令所做的:
scope.reveal = function()
{
var el = $compile('<input type="text" ng-model="scope.form.name" />')(scope);
// Now launch the modal
}
因此,模态确实打开了,并且正确地显示了scope.form.name
的内容。但是,如果我关闭模态并再次打开它,则不会保存该值(即,scope.form.name
不会在指令中更新)。
我能做的最好的事情是什么?
使用angularjs,通常不会编译元素并将其添加到DOM中。您应该在模板中声明您的表单,并将ng-show绑定到作用域上的属性以显示/隐藏您的表单。
<div my-directive>
<span ng-click="form.show = true">Click Me</span>
<form ng-show="form.show">
<input type="text" ng-model="form.name" />
<form>
</div>
相关文章:
- 两个指令创建新的继承的和隔离的作用域-元素得到哪个
- 在具有命名作用域的自定义Polymer元素中隐藏表行
- 在AngularJS中将元素添加到作用域时,如何在所有设备上播放声音
- FireFox-在全局作用域中由id名称引用的元素.使用w3c标准
- AngularJS-将HTML元素的作用域更改为新的作用域
- 如果在transclusion之后添加,为什么指令下的动态元素具有错误的作用域
- 如果作用域值等于单击的元素的属性值,则Ng类
- 使用ng-click在作用域内定位元素
- 角度在元素的作用域中保存一个值
- 将元素绑定到不同帧中的现有 AngularJS 作用域
- 多个指令,一个元素具有单独的作用域
- Polymer.dom:dom元素的作用域查询选择器
- Angularjs-元素上有多个指令,其中一个是隔离作用域
- 在绑定元素时从作用域对象添加格式
- 与控制器在同一元素中的自定义指令作用域
- 访问子元素内的父作用域's onclick回调(Atom包)
- AngularJS-$编译一个元素并将作用域传递给它
- 为什么Angular要把ng-scope类放在一个没有附加作用域的元素上?
- 不能从AngularJS的作用域数组中移除元素
- 当方法影响作用域元素时的Angular服务设计