从父控制器设置ng-model on指令

时间:2014-12-31 07:16:58

标签: angularjs angularjs-directive

我有2个相同的指令彼此相邻(<jd-autocomplete>),其中第2个ng-model值应根据所选的第1个值设置。

<jd-autocomplete>指令采用名为ac-change(函数)的范围属性,当该指令内的<input>发生更改时,将调用该属性。

看起来像这样:

<form>
    <jd-autocomplete ac-change="doChange" ng-model="entry.vendor"></jd-autocomplete>
    <jd-autocomplete ng-model="entry.category"></jd-autocomplete>
</form>

如果$scope.doChange = function(){}作为父控制器上的方法存在,我将如何在该函数内访问和设置第二指令的模型?

这是我的傻瓜:http://plnkr.co/edit/fTFM67wBcYtK6qdnjhNY?p=preview

1 个答案:

答案 0 :(得分:1)

给你分叉plnkr

在编辑第一个文本框时,您的第二个文本框中将具有相同的值。现在您可以在doChange处理程序中编写自定义登录。

app.controller('AddFormController', [
    '$rootScope',
    '$scope',
    '$element',
    '$http',

    function ($rootScope, $scope, $element, $http){
        $scope.vendors      = [{'vendor_name':'hi', 'category_name': 'food'},{'vendor_name':'dude', 'category_name': 'food'}];
        $scope.categories   = [{'category_name': 'food'},{'category_name': 'gas'}];

$scope.entry = {};

  $scope.wrapper = {};
        $scope.wrapper.doChange = function(obj){
            console.log(obj);
            $scope.entry.category = obj;
        };

    }
]);