小编seb*_*olo的帖子

AngularJS通过$ compile的动态内容范围未附加到控制器范围

当我通过具有指令的字符串生成新元素(这就是我需要编译的原因)并且该指令通过"="生成与控制器范围中的变量的关联时,我的控制器中的变量不与一个在指令中.

我创建了一个jsfiddle来显示"门"ng模型值应该与所有指令模型值相关联的示例.

看到这个小提琴:http://jsfiddle.net/aVJqU/2/

我注意到的另一件事是,从html中存在的元素运行的指令通过变量(控制器和指令)显示正确的关联.

html(有绑定的指令<door>):

<body ng-app="animateApp">
    <div ng-controller="tst">
        <h2> Controller with its model </h2>
        <input ng-model="doorval" type="text"> </input>
        {{doorval}}
        <h2> Directive render directly from the html </h2>
        <door doorvalue="doorval"></door> <key></key>
        <h2> Directives that are compiled </h2>
        <list-actions actions="actions"></list-actions>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

这是指令:

animateAppModule.directive('door', function () {
    return {
        restrict: "E",
        scope: {
            doorvalue:"="
        },
        template: '<span>Open the door <input type="text" ng-model="doorvalue"> </input> {{doorvalue}}</span>',
        replace: true
    }
})
Run Code Online (Sandbox Code Playgroud)

这是控制器:

var animateAppModule = angular.module('animateApp', [])

animateAppModule.controller('tst', function …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-directive angularjs-scope angularjs-controller

4
推荐指数
1
解决办法
5354
查看次数