所以我想知道如何在单个ng-init中声明多个值,而不必创建一些奇怪的哈希,然后我需要始终专门访问.
所以基本上我想
<div ng-init="a = 1, b = 2">{{a}}</div>
Run Code Online (Sandbox Code Playgroud)
我说我想避免这样做
<div ng-init="unecessary_bs = {a: 1, b: 2}">{{unecessary_bs.a}}</div>
Run Code Online (Sandbox Code Playgroud)
但合理的:
<div ng-init="a = 1, b = 2">{{a}}</div>
Run Code Online (Sandbox Code Playgroud)
似乎不起作用.
期待的谢谢
我的主要问题很简单:
在控制器或指令中进行DOM操作时出错,但功能完美.
Error: [$parse:isecdom] Referencing DOM nodes in Angular expressions is disallowed! Expression: open()
Run Code Online (Sandbox Code Playgroud)
我想忽略这些错误,并从功能角度(不是设计角度)确认这样做是安全的
为了简单起见,我很感激这个问题的一个简单答案,而不会质疑我是否需要这样做.
现在,如果有人想要更详细地讨论,我有这个要点:https: //gist.github.com/kosz/04f916a5725d85045be5(依赖关系:angular,jquery,jquery ui对话框),我正在遇到这个代码的行为.
到目前为止,我已经尽了最大的努力来摆脱这个错误,并根据我所阅读的内容和文档,在指令中鼓励使用角度的dom操作.
所以我已经使代码使用了一个指令,但是,它仍然会引发错误!
如您所见,我正在使用Jquery UI并为每个列表项显示它,如果用户想要编辑的话.我不是直接操作dom,但是,我需要一种方法来控制jQuery ui Dialog的关闭/打开事件,这不会使Angular填充我的控制台有错误.
我们非常感谢您对此的任何见解.
请注意,我知道角度ui bootstrap模式,并且我不能在这个特定场景中使用它.
我有一个Rails控制器响应JSON对象.我们来看看这个理论范例:
respond_to :json
def index
respond_with Comment.all
end
Run Code Online (Sandbox Code Playgroud)
这会有类似的回应
[{"id":1,"comment_text":"Random text ", "user_id":1 ,"created_at":"2013-07-26T15:08:01.271Z","updated_at":"2013-07-26T15:08:01.271Z"}]
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是一种"最佳实践"方法来干扰json对象的格式化并返回如下内容:
[{"id":1,"comment_text":"Random text ", "username": "John Doe", "user_id":1 ,"created_at":"3 hours ago"}]
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我正在添加一个在数据库模型"username"中不存在的列,我正在取出"updated_at",并且我将"created_at"格式化为包含人类可读文本而不是日期.
有人想过吗?
我想在ruby中有类似binding.pry的东西,基本上,我希望能够在我的代码中添加一行,并让调试器停在那里,而业力正在运行我的角度/茉莉花测试
it('runs my jasmine test', function () {
var a = true;
binding.pry // stops code and enters REPL prompt
expect(a).toBe(true);
});
Run Code Online (Sandbox Code Playgroud)
结果将是一个提示
#
我可以在那个时间点对那个范围内可用的变量做些什么
# a = false;
然后我可以退出并继续执行.
# exit
就像使用开发工具进行调试一样,但我希望在浏览器环境之外和终端内部的业力流程中使用它.我也找到了https://github.com/alidavut/locus,但它似乎不适用于业力.
这个问题是关于gulp 3.8.10,使用gulp.watch而不是'gulp-watch'
我有一个任务,将我的所有html/css/js文件注入我的index.html
gulp.task('index', function () {
var sources = gulp.src(['./src/**/*.js', './src/**/*.css'], {read: false});
return gulp.src('./src/index.html')
.pipe(inject(sources, {ignorePath: 'src', addRootSlash: false }))
.pipe(gulp.dest('./src'));
});
Run Code Online (Sandbox Code Playgroud)
此任务由以下内容自动触发:
gulp.watch('src/**/*', ['index']);
Run Code Online (Sandbox Code Playgroud)
由于所有这些任务都是,将外部文件导入我的index.html,如下所示:
<!-- inject:js -->
<script src="app/app.js"></script>
<script src="module/module.js"></script>
<!-- endinject -->
Run Code Online (Sandbox Code Playgroud)
我想只让观察者运行此任务,如果添加了一个新文件,重新运行和修改我的index.html文件是没有意义的,当我只是更改已经注入的文件时.
有没有办法用gulp做到这一点?
编辑: 接受答案后,这是我的给定示例的实际代码:
gulp.watch('src/**/*', function(event) {
if (event.type === 'added' ) {
gulp.start('index');
}
});
Run Code Online (Sandbox Code Playgroud) 我被告知控制器模式通过在示波器上附加较少的东西来改善AngularJS应用程序的性能.
我无法真正理解这是如何发生的,因为对于控制器,控制器本身会在范围内公开它的属性.
这真的能提高性能吗?如果是,那么如何以及为什么?
Bower和main-bower文件非常棒,但是当与Angular Bootstrap UI一起使用时,安装/包含的内容比需要的要多.
基本上:Angular Bootstrap UI,取代了对bootstrap.js的需求和它的jquery依赖.但是在安装bootstrap时,安装了jquery,然后我的gulp任务使用了main-bower-files,在我的html文件中包含了jquery和bootstrap.js.
有没有办法告诉bower,和/或main-bower-files和/或Bootstrap,不再需要jquery和bootstrap.js.
到目前为止,我尝试在bower_components/bootstrap/bower.json中评论jquery依赖项和dist/js/bootstrap.js行,但文件仍然被包含在内.
angularjs ×4
javascript ×3
gulp ×2
node.js ×2
bower ×1
coffeescript ×1
dom ×1
jasmine ×1
jquery ×1
json ×1
karma-runner ×1