2015-10-17 45 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

欢迎:) –

相关问题