我正在尝试在我的Rails项目中将angular-dotdotdot directive包含在我的角度应用中。
为此,我使用bower-rails gem来管理我的资产,特别是angular-dotdotdot。因此我有以下文件:
bower.json
{
"lib": {
"name": "bower-rails generated lib assets",
"dependencies": {
}
},
"vendor": {
"name": "bower-rails generated vendor assets",
"dependencies": {
"angular-dotdotdot": "latest"
}
}
}
.bowerrc
{
"directory" : "vendor/assets/bower_components"
}
配置/初始化/ bower_rails.rb
BowerRails.configure do |bower_rails|
# Tell bower-rails what path should be considered as root. Defaults to Dir.pwd
# bower_rails.root_path = Dir.pwd
# Invokes rake bower:install before precompilation. Defaults to false
# bower_rails.install_before_precompile = true
# Invokes rake bower:resolve before precompilation. Defaults to false
# bower_rails.resolve_before_precompile = true
# Invokes rake bower:clean before precompilation. Defaults to false
# bower_rails.clean_before_precompile = true
# Invokes rake bower:install:deployment instead of rake bower:install. Defaults to false
# bower_rails.use_bower_install_deployment = true
#
# Invokes rake bower:install and rake bower:install:deployment with -F (force) flag. Defaults to false
# bower_rails.force_install = true
# Change the default directory name
# bower_rails.bower_components_directory = 'bower_components'
asset "angular-dotdotdot"
end
在 vendor / assets / bower_components 中,我有angular-dotdotdot文件夹。
我正在尝试在the method indicated in the repo之后加入指令。
应用/资产/ Javascript角/ BAM-角的应用程序/模块/ bam.js.coffee.erb
@bamApp = angular
.module('Bam.bamApp', [])
.directive('dotdotdot', [
'$timeout'
($timeout) ->
{
restrict: 'A'
link: (scope, element, attributes) ->
scope.$watch attributes.dotdotdot, ->
$timeout (->
console.log('before')
element.dotdotdot()
console.log('pass')
return
), 400
console.log('pass1')
return
console.log('pass2')
return
}
])
.run(->
console.log 'bamApp running'
)
然而,当我使用它时,我得到以下错误(两次,而我只使用一次,如果这很重要):
错误:element.dotdotdot不是函数
感谢我在我的指令中包含的日志,我可以看到我只在指令定义中传递一次,它在element.dotdotdot()
停止,因为它在之前输出但不是通过
看到this question,我检查过我没有加载jQuery两次而且我没有。我正在加载jquery,jquery_ujs和jquery.turbolinks。
我不知道为什么会收到此错误。
非常感谢任何帮助,提前谢谢!