我想用控制器中的对象为输入元素建模,但该元素不是html中的元素。我有一个指令,我在里面制作了这个元素(newElement
在下面的片段中)。
1.Directive:
panel.directive('ngCustomType', function ($compile) {
return {
scope: {
entity: '='
},
link: function (scope, elem, attrs){
newElement = angular.element('<input type="text"/>');
newElement.attr("ng-model", "entity.name"); // I also tried newElement.attr("ng-model", "currentEntity.name"); but it didn't work
$compile(newElement)(scope);
elem.append(newElement);
}
2.Controller:
$scope.currentEntity = {name: ""};
3.View:
<div ng-custom-type entity="currentEntity"></div>
当我在生成的html中检查创建的输入元素时,我在输入元素中有ng-model='entity.name'
,但它并没有真正由我的对象建模,而当我更改输入时currentEntity.name
没有改变。我如何将它们绑在一起?
答案 0 :(得分:0)
试试这个:
newElement.attr("ng-model", "entity.name");