angular js code
angular.module('myapp')
.controller('PostsController', function($scope, $window, $http){
$scope.$watch('selectedCities', function(newValue, oldValue) {
if(newValue === oldValue ){
return;
}
//to call a jQuery variable wookmark
}, true);
}
jquery代码
$(function ($) {
var container = '#wookmark_container',
$container = $(container),
tileCount = 30,
$window = $(window),
$document = $(document),
wookmark;
// Initialize Wookmark
wookmark = new Wookmark(container, {
offset: 5, // Optional, the distance between grid items
outerOffset: 10, // Optional, the distance to the containers border
itemWidth: 260, // Optional, the width of a grid item
autoResize: true
});
});
我想要做的是如果选择选项更改我想重新加载一个wookmark jquery插件。
在angularjs中调用jquery vairable是否可行?
感谢您的帮助。
答案 0 :(得分:1)
您可以引用Angular控制器范围内的任何变量。
看起来你在自己的功能范围内定义了woodmark
,这意味着你无法访问它。要访问它,您需要将其设置为全局窗口对象的属性,如下所示:
window.woodwork = "initial value";
然后,您可以使用$window
服务在控制器中引用它。
$window.woodwork = "updated value";
答案 1 :(得分:1)
试试这个,
声明变量' wookmark'在父或全局范围内,即在就绪块之外。这将使该变量在任何地方都可访问。您将能够在角度控制器
中访问它var woomark;
$(function ($) {
// Initialize Wookmark
wookmark = new Wookmark(container, {...});
});
要重新加载woomark插件,您可以在代码中进行如下所示的呼叫。
angular.element(document.querySelector('#wookmark_container')).trigger('refreshWookmark');
或直接
$('#wookmark_container').trigger('refreshWookmark')
以下是' refreshWookmark'的文档链接 https://github.com/GBKS/Wookmark-jQuery