1
我想在表單提交上運行一些jQuery代碼。我希望它是可重用的,並且我已經有了一個工廠,用於在控制器之間交換數據。將範圍傳遞給用於jquery動畫的工廠
HTML(jsfiddle)
<div ng-app="myApp">
<div id="div_1" ng-controller="FirstCtrl">
<form ng-submit="Data.submit('#div_1','#div_2')">
<input type="text" ng-model="Data.FirstName"><br>
Input is : <strong>{{Data.FirstName}}</strong>
<input type="submit" value="Submit" />
</form>
</div>
<div id="div_2" style="display:none;" ng-controller="SecondCtrl">
Second controller to verify data is being shared: <br>
<strong>{{Data.FirstName}}</strong>
</div>
</div>
的Javascript
var myApp = angular.module('myApp', []);
myApp.factory('Data', function(){
var root = {
FirstName: ''
};
root.submit = function(to_hide, to_show) {
$(to_hide).slideUp(function(){
$(to_show).slideDown();
});
}
return root;
});
myApp.controller('FirstCtrl', function($scope, Data){
$scope.Data = Data;
});
myApp.controller('SecondCtrl', function($scope, Data){
$scope.Data = Data;
});
這工作,但我覺得我盜號的。有沒有更好的方法來做到這一點?
更重要的是,什麼是角度方式這樣做?
順便說一句,我沒有使用ngAnimate,因爲純粹的CSS動畫。我仍然希望舊版瀏覽器能夠體驗這些動畫。