2015-10-17 61 views
0

是否可以編寫這樣的函數?

$scope.myFunc = function() { 
    this.details = 1; 
    this.setDetails = function (d) { 
     this.details = d; 
    } 

} 

如何從視圖中調用此函數?

<a href="javascript:void(0)" ng-click="myFunc.setDetails('hi')">set Details</a> 

它甚至不叫我的功能。

+0

@Tushar這是打錯了。我編輯的問題。請立即檢查 –

+0

從'myFunc'中添加'return this;',然後調用它爲'ng-click =「myFunc()。setDetails('hi')」' – Tushar

+1

那麼您如何使用'details'呢? – dfsq

回答

1

我爲你準備工作示例。首先使用構造函數,然後通過調用new MyFunc()來創建新實例$scope.myfunc

var myApp = angular.module('myApp', []); 
 

 

 
myApp.controller('myController', function($scope) { 
 
    
 
    //Constructor function 
 
    function MyFunc() {  
 
    \t this.details = 1; 
 
\t this.setDetails = function(details) { 
 
    \t this.details = details; 
 
    \t } 
 
    } 
 
    //New instance of MyFunc 
 
    $scope.myfunc = new MyFunc(); \t 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="myApp"> 
 
    <div ng-controller="myController"> 
 
     <input type="text" ng-model="myfunc.details"> 
 
     <button ng-click="myfunc.setDetails('hi')">Click me</button> 
 
     
 
    </div> 
 
</div>

+0

非常感謝... –

+0

歡迎:) –

相關問題