如何将值传递给一个控制器到angularjs中的另一个控制器?

时间:2016-03-15 05:12:32

标签: javascript angularjs angularjs-directive angularjs-scope ng-dialog

Here the Sample Link

我尝试了实现模态窗口。我在网上找到了一些样本,并且实施了。

这里我添加了模态窗口的示例文件。哪个工作正常。

我真正需要的是打开模型窗口时我将调用此函数。

$scope.callType = {};
$scope.dataFormDialog = function (id) {
    $scope.callType.id = id;
    exDialog.openPrime({
        scope: $scope,
        template: '_Product.html',
        controller: 'productController',
        width: '450px',
        //animation: false,
        //grayBackground: false            
    });
}; 

这里我从sampleController调用_Product.html和productController。

模态窗口从sampleController调用那个时间。

如何将sampleController的$ scope值传递给productController?

任何人都可以帮我吗?...

2 个答案:

答案 0 :(得分:1)

试试这个

$scope.dataFormDialog = function (id) {
    $scope.callType.id = id;
    exDialog.openPrime({

        template: '_Product.html',
        controller: 'productController',
        width: '450px',
        resolve: {
                   Scopevariable: function () {
                   return $scope;
                  }
        //animation: false,
        //grayBackground: false            
    });
}; 


app.controller('productController', ["Scopevariable",
function (Scopevariable)
{
    // use  Scopevariable
}]);

答案 1 :(得分:0)

要将范围传递给ng-dialog的控制器,可以使用任何对象以及可以在对话框控制器中使用的对象及其属性来为其分配属性范围。

示例 -

$scope.value = true;
ngDialog.open({
    template: 'externalTemplate.html',
    className: 'ngdialog-theme-plain',
    scope: $scope
});

<script type="text/ng-template" id="externalTemplate.html">
   <p>External scope: <code>{{value}}</code></p>
</script>

在上面的示例中,您在$ scope中有一个值对象。在传递整个$ scope的对话框中,可以访问externalTemplate.html中$ scope的所有属性。

详情请参阅ng-dialog scope