Angularjs 如何在指令内链接ng模型?

Angularjs 如何在指令内链接ng模型?,angularjs,Angularjs,链接查看我的问题的可视化 我完全迷路了。阅读了大量SO回复(最近的问题是) html: attrs.dateFormat等于{{dateFormats.getCurFormat()}字符串(与以前一样,不使用模板属性返回$scope上的实际表达式执行结果) 伙计们帮忙;) 您可以通过在指令中使用所谓的“隔离范围”来实现这一点。如果您需要了解一些,Egghead.io有几个视频解释使用隔离作用域绑定变量的不同方法 我做了一些你要求的事情。它看起来像这样: <div ng-controller

链接查看我的问题的可视化

我完全迷路了。阅读了大量SO回复(最近的问题是)

html:

attrs.dateFormat等于
{{dateFormats.getCurFormat()}
字符串(与以前一样,不使用模板属性返回$scope上的实际表达式执行结果)


伙计们帮忙;)

您可以通过在指令中使用所谓的“隔离范围”来实现这一点。如果您需要了解一些,Egghead.io有几个视频解释使用隔离作用域绑定变量的不同方法

我做了一些你要求的事情。它看起来像这样:

<div ng-controller="MyCtrl">
    --some additional html--
    <div my-directive="blah" foo="scopevar1name" bar="scopevar2name"></div>
    --some additional html--
</div
指令中的“scope.MYFOO”是对“MyCtrl.$scope.foo”的引用。您在其中一项中所做的任何更改都将反映在另一项中


如果“foo”是一个不可变的对象(比如字符串、数字、布尔值或日期),那么这将不起作用。您需要将这些原语嵌套在一个实际的对象中,该对象可以被修改,然后绑定到该对象并在指令中引用它的子对象。如果你需要了解更多,请告诉我

谢谢你的回答。这是可能的,我已经试过了。但为了达到更大的灵活性,我不得不使用ngModelController。你知道如何实现吗?我一直在寻找类似的解决方案,但没有找到。只是在这里发帖来表达我的沮丧。
/* Template */
angular.module("/cached/ui-elements/inputDate.html", []).run(["$templateCache", function($templateCache) {
    $templateCache.put("/cached/ui-elements/inputDate.html",
       "<div class=\"controls\">\n"+
          "<input class=\"dateInputValue\" " +
                  "ng-model=\"ngModelLocal\" " +
                  "readonly " +
                  "ng-click=\"showPicker=!showPicker\"/>\n"+
           <MY-DATEPICKER ng-model="ngModelLocal"></MY-DATEPICKER>
       "</div>"
}]);
<div ng-controller="MyCtrl">
    --some additional html--
    <div my-directive="blah" foo="scopevar1name" bar="scopevar2name"></div>
    --some additional html--
</div
.directive('inputDate', function factory(dateFilter) {
    return {
            require:'^ngModel',
            restrict:'A',
            replace: true,
            scope:{
                "MYFOO" : "=foo",
                "MYBAR" : "=bar"
            },
            template: "your html here",

            link:function (scope, elm, attrs) {
                IN HERE YOU CAN USE "scope.MYFOO" and "scope.MYBAR"
            }
    };
});