我想實現一個動畫文字雲。由於我沒有找到任何角度或離子準備插件來做我想做的事情,我決定(並且我發現它很有趣)來爲jquery代碼創建一個角度包裝。 這個插件是tagcanvas和使用的例子是this創建一個angularjs指令來包裝jquery tagcanvas插件
我迄今所做的:
- 我加入jQuery的js文件到我的index.html
- 我創建了一個js文件在哪裏聲明我的指令,並將其添加到index.html的:
tagcanvas.js
angular.module('tagCanvas', [])
.directive('tagCanvas', function() {
return {
restrict: 'E',
link: function (scope, element, attrs) {
element.tagcanvas({
outlineColour: attrs.outlineColour,
reverse: attrs.reverse,
depth: attrs.depth,
maxSpeed: attrs.maxSpeed,
textFont: attrs.textFont,
textColour: attrs.textColour,
weightMode: attrs.weightMode,
weight: attrs.weight
}, attrs.canvas);
}
};
});
正如您在codepen示例中所看到的那樣,我需要調用一些屬性以及一個html元素ID canvas
,我不知道如何在我的指令中調用它們。
我的第二個問題是我不知道如何創建和調用我想在我的標籤雲中顯示的詞。 我看了很多教程,但我仍然不知道如何去做。任何幫助將不勝感激。
我有一個錯誤,說「tagcanvas」功能不是一個函數,但我確信添加jquery.tagcanvas。js和tagcanvas.js:/ – Hana
您必須錯誤地引用了某些內容。這是一個[工作Plunker](http://plnkr.co/edit/4DR5FjttC2CP0KkDcwaW?p=preview)與我的答案確切的代碼。 – Lex
我對控制器有問題。我不明白在哪裏宣佈它。因爲我有一個名爲starter.Clients的模塊,其中有一個名爲clientsController的控制器,它是我想要使用tagCloud(clients.html)的地方。那麼我是否需要調用'ctrl'控制器而不是您在clientsController中創建的? :/我很困惑。 – Hana