2017-03-16 112 views
1

這個問題的Angularjs How to pass parameter back to controller from directive with ng-click在字符串能夠被傳遞到角控制器姍姍來遲的擴展,但在模板中定義的變量都沒有。如何傳遞模板自定義變量,角控制器

在這種JSFiddle「字串」通過向控制器傳遞和var FOO是「未定義」。

的index.html:

<div ng-app> 
    <div ng-controller="YourController"> 
    <button type="button" ng-click="showString(foo)">One</button> 
    <button type="button" ng-click="showString('Two')">Two</button> 
    <p>Result: {{string}}</p> 
    </div> 
</div> 

<script> 
    var foo = "bar"; 
</script> 

main.js:

function YourController($scope) { 
    $scope.string=''; 
    $scope.showString = function (provider) { 
    $scope.string= provider; 
    } 
} 

(第一堆棧溢出後在這裏..寬容我;))

回答

0

找到了解決方法,這裏的該updated JSFiddle

1)在index.html,我改變

<script> 
    var foo = "bar"; 
</script> 

<script> 
    window.foo = "bar"; 
</script> 

2)main.js,我加

$scope.foo = window.foo; 

隨意評論,如果有更好的解決方案。

相關問題