我们如何通过模板URL动态分配ng-model的值?

时间:2015-12-26 15:13:46

标签: angularjs angularjs-directive

我是角度j的新手。我已经写了一个指令来加载模板网址并尝试更改ng-model值。但价值并没有改变。

我试过模拟这个例子http://tinyurl.com/hg7ehge 除了我试图从网址加载html。

以下是plunker代码:http://tinyurl.com/zwmleec

1 个答案:

答案 0 :(得分:1)

要按动态名称引用模型,您可以隔离范围(范围:true)并使用$parent引用外部范围:

.directive('dynamicmodel', function($templateRequest, $compile) {
    return {
        replace: true,
        restrict: 'E',
        scope: true,
        link: function(scope, element, attrs) {
            scope.name = attrs.comm;
            $templateRequest("template.html").then(function(html) {
                element.replaceWith($compile(html)(scope));
            });
        }
    };
});

然后在模板中使用scope.comm

<input type="text" ng-model="$parent[name].subject" />

演示: http://plnkr.co/edit/B4HgvxuT1jZJ2H3U9UO9?p=info