在已经存在的应用中添加angular应用并传输数据
Add angular app in already existing app and transfer data
我试图在已经存在的jquery应用程序中添加angular应用程序。假设我有一个简单的按钮在html.
我试图加载角应用程序和运行控制器代码上的按钮点击。我使用angular.bootstrap(document, ['myApp'])
手动加载angular应用程序。我也试图通过一些数据从jquery到角应用程序。这是可能的吗?
看一看-
<!DOCTYPE html>
<html>
<head lang="en">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<title>jA</title>
</head>
<body>
<button id="myButton" value="25">Hello world</button>
</body>
<script>
angular.module('myApp', []) // I defined the angular app.
.controller('MyController', ['$scope', function ($scope) {
console.log('Hello world'); // This should run on button click.
}]);
$(document).ready(function () {
$("#myButton").click(function(){
var some_value = '25'; //value i am trying to pass to angular app to use in angular app.
angular.bootstrap(document, ['myApp']); //load angular app
});
});
</script>
</html>
jQuery
和AngularJS
不会直接"对话",但是Angular会"看到"你拥有的任何其他原生javascript,所以让我们说——如果你定义了一个全局变量,并在AnuglarjJS
访问它时通过jQuery
修改它——它可以读取并使用这个值。
给出你的例子-谁在使用/调用MyController
?
查看我为您创建的小提琴作为示例:https://jsfiddle.net/b29rng12/2/
<div id="myAngularApp">
<button id="myButton" value="25"> click to bootstrap</button>
<p ng-controller='MyController'>
this section will be bind to the controller. {{ test }} and the value is {{ some_jquery_value }}
</p>
</div>
<script>
var some_value = '25'; //value i am trying to pass to angular app to use in angular app.
angular.module('myApp', []) // I defined the angular app.
.controller('MyController', ['$scope', function ($scope) {
console.log('Hello world'); // This should run on button click.
$scope.test = "ricky";
$scope.some_jquery_value = some_value; // This is your predefined variable
}]);
$("#myButton").click(function(){
some_value = 30;
angular.bootstrap($("#myAngularApp"), ['myApp']); //load angular app
});
</script>
所以只是解释一下-应用程序在未启动时启动,这就是为什么你会看到{{ }}
而不是values。
在你点击按钮之后(就像在你的例子中一样)-应用程序是启动的-它仍然不意味着这段代码将使用你所想到的特定controller
(angular模块可以有100个控制器-那么谁将使用什么?!)所以我定义了<p ng-controller='MyController'>
-是在app
被引导后绑定控制器的东西。
我希望它帮助....
相关文章:
- angular 1.5应用程序中的导航栏
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- Grunt构建导致Angular应用程序在dist上崩溃
- 在Angular应用程序中每个帖子投票一次
- 如何在angular.js中动态应用自定义过滤器
- 如何构建angular.js应用程序
- 微软边缘浏览器缓存中的RESTful Angular应用程序
- Angular ng控制器与ng应用程序冲突
- 如何在给定的angular应用程序中获取所有指令名称
- 在将绑定应用于控制器之后,是否会发出Angular$scope事件
- 使用应用程序状态js和视图在angular js url上传递两个参数
- 如何将现有的angular js应用程序集成到Laravel 5中
- 从C#应用程序向Angular页面发送帖子请求
- angular js应用程序不工作
- 我可以在React应用程序中使用什么作为Angular的等价物;s$http.get
- 在输入后,有条件地应用Angular中的两个类之一
- 对翻译后的句子应用Angular-JS过滤器
- 对一组元素应用angular指令
- 单页应用(Angular)的PayPal上下文结帐